다음을 통해 공유


ReadOnlyTensorSpan<T> 구조체

정의

ReadOnlyTensorSpan은 임의 메모리의 연속 영역을 나타냅니다. 배열과 달리 관리되는 메모리 또는 네이티브 메모리 또는 스택에 할당된 메모리를 가리킬 수 있습니다. 형식이 안전하며 메모리가 안전합니다.

generic <typename T>
public value class ReadOnlyTensorSpan
[System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public readonly ref struct ReadOnlyTensorSpan<T>
[<System.Diagnostics.CodeAnalysis.Experimental("SYSLIB5001", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type ReadOnlyTensorSpan<'T> = struct
Public Structure ReadOnlyTensorSpan(Of T)

형식 매개 변수

T
상속
ReadOnlyTensorSpan<T>
특성

생성자

ReadOnlyTensorSpan<T>(Array)

제공된 Array대해 새 ReadOnlyTensorSpan<T> 만듭니다. 새 ReadOnlyTensorSpan<T> 순위는 1이고 길이는 제공된 Array길이와 같습니다.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<Int32>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 시작 오프셋, 길이 및 보폭을 사용하여 제공된 Array 대해 새 ReadOnlyTensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

ReadOnlyTensorSpan<T>(Array, ReadOnlySpan<NIndex>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 시작 오프셋, 길이 및 보폭을 사용하여 제공된 Array 대해 새 ReadOnlyTensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

제공된 ReadOnlySpan<T>대해 새 ReadOnlyTensorSpan<T> 만듭니다. 새 ReadOnlyTensorSpan<T> 순위는 1이고 길이는 제공된 ReadOnlySpan<T>길이와 같습니다.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

지정된 길이와 보폭을 사용하여 제공된 Span<T> 대해 새 ReadOnlyTensorSpan<T> 만듭니다. 보폭이 제공되지 않으면 자동으로 계산됩니다.

ReadOnlyTensorSpan<T>(T*, IntPtr)

관리되지 않는 대상 버퍼에 대해 새 범위를 만듭니다. 분명히 이것은 길이가 확인되지 않는 매우 위험합니다. 그러나 이 생성이 올바르면 모든 후속 용도가 올바릅니다.

ReadOnlyTensorSpan<T>(T*, IntPtr, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

관리되지 않는 대상 버퍼에 대해 새 범위를 만듭니다. 길이가 확인되지 않기 때문에 분명히 이것은 매우 위험합니다. 그러나 이 생성이 올바르면 모든 후속 용도가 올바릅니다.

ReadOnlyTensorSpan<T>(T[])

대상 배열 전체에 걸쳐 새 범위를 만듭니다.

ReadOnlyTensorSpan<T>(T[], Index, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' 인덱스에서 시작하여 'end' 인덱스(배타적)로 끝나는 대상 배열 부분에 대해 새 범위를 만듭니다.

ReadOnlyTensorSpan<T>(T[], Int32, ReadOnlySpan<IntPtr>, ReadOnlySpan<IntPtr>)

'start' 인덱스에서 시작하여 'end' 인덱스(배타적)로 끝나는 대상 배열 부분에 대해 새 범위를 만듭니다.

속성

Empty

기본이 null 포인터인 0 길이의 읽기 전용 범위를 반환합니다.

FlattenedLength

범위의 항목 수입니다.

IsEmpty

TensorSpan<T> 비어 있는지 여부를 나타내는 값을 가져옵니다.

Item[ReadOnlySpan<IntPtr>]

ReadOnlyTensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Item[ReadOnlySpan<NIndex>]

ReadOnlyTensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Item[ReadOnlySpan<NRange>]

ReadOnlyTensorSpan의 조각을 반환합니다.

Lengths

TensorSpan<T>각 차원의 길이를 가져옵니다.

Rank

TensorSpan<T>차원 수와 같은 순위를 가져옵니다.

Strides

TensorSpan<T> 진행을 가져옵니다.

메서드

CastUp<TDerived>(ReadOnlyTensorSpan<TDerived>)

읽기 전용 TDerived 범위를 T읽기 전용 범위로 캐스팅합니다.

CopyTo(TensorSpan<T>)

이 읽기 전용 범위의 내용을 대상 범위에 복사합니다. 원본과 대상이 겹치면 이 메서드는 대상을 덮어쓰기 전에 임시 위치에 있는 원래 값처럼 동작합니다.

Equals(Object)
사용되지 않음.

범위를 boxed할 수 없으므로 이 메서드는 지원되지 않습니다. 두 범위를 비교하려면 operator==를 사용합니다.

FlattenTo(Span<T>)

이 범위의 내용을 제공된 Span<T>평면화합니다.

GetEnumerator()

이 범위에 대한 열거자를 가져옵니다.

GetHashCode()
사용되지 않음.

범위를 boxed할 수 없으므로 이 메서드는 지원되지 않습니다.

GetPinnableReference()

ReadOnlyTensorSpan의 0번째 요소에 대한 참조를 반환합니다. ReadOnlyTensorSpan이 비어 있으면 null 참조를 반환합니다. 고정에 사용할 수 있으며 고정 문 내에서 범위 사용을 지원하는 데 필요합니다.

Slice(ReadOnlySpan<NIndex>)

TensorSpan의 지정된 요소에 대한 참조를 반환합니다.

Slice(ReadOnlySpan<NRange>)

지정된 범위에서 조각을 형성합니다.

ToString()

형식의 이름과 요소 수가 있는 String 반환합니다.

TryCopyTo(TensorSpan<T>)

이 읽기 전용 범위의 내용을 대상 범위에 복사합니다. 원본과 대상이 겹치면 이 메서드는 대상을 덮어쓰기 전에 임시 위치에 있는 원래 값처럼 동작합니다.

TryFlattenTo(Span<T>)

이 범위의 내용을 제공된 Span<T>평면화합니다.

연산자

Equality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

동일한 메모리에서 왼쪽 및 오른쪽 점의 길이가 같으면 true를 반환합니다. 내용이 같은지 확인할 없습니다.

Implicit(T[] to ReadOnlyTensorSpan<T>)

ReadOnlyTensorSpan은 임의 메모리의 연속 영역을 나타냅니다. 배열과 달리 관리되는 메모리 또는 네이티브 메모리 또는 스택에 할당된 메모리를 가리킬 수 있습니다. 형식이 안전하며 메모리가 안전합니다.

Inequality(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

동일한 메모리에서 왼쪽 및 오른쪽 점의 길이가 같으면 false를 반환합니다. 내용이 같은지 확인할 없습니다.

확장 메서드

BroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

데이터를 sourcedestination브로드캐스트합니다.

Reshape<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

지정된 lengthstensor 텐서를 바꿉니다. 길이 중 하나가 -1이면 자동으로 계산됩니다. 기본 메모리의 길이를 변경하지 않으며 새 메모리를 할당하지도 않습니다. 새 셰이프가 이전 셰이프와 호환되지 않으면 예외가 throw됩니다.

SequenceEqual<T>(ReadOnlyTensorSpan<T>, ReadOnlyTensorSpan<T>)

IEquatable{T}을 사용하여 요소를 비교하여 두 시퀀스가 같은지 여부를 결정합니다. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

tensor길이 1의 모든 차원을 제거합니다.

SqueezeDimension<T>(ReadOnlyTensorSpan<T>, Int32)

지정된 dimension대한 tensor 길이 1의 축을 제거합니다. 차원이 길이가 1이 아니면 예외가 throw됩니다.

ToString<T>(ReadOnlyTensorSpan<T>, ReadOnlySpan<IntPtr>)

ReadOnlyTensorSpan<T>."의 String 표현을 만듭니다. />

TryBroadcastTo<T>(ReadOnlyTensorSpan<T>, TensorSpan<T>)

tensor 데이터를 destination 호환되는 가장 작은 브로드캐스트 가능한 셰이프로 브로드캐스트하고 destination 셰이프가 호환되지 않으면 false가 반환됩니다.

Unsqueeze<T>(ReadOnlyTensorSpan<T>, Int32)

차원 위치에 표시할 길이 1의 새 차원을 삽입합니다.

적용 대상