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)

Создает новый ReadOnlyTensorSpan<T> над предоставленным Array. Новый ReadOnlyTensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного Array.

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

Создает новый ReadOnlyTensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться.

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

Создает новый ReadOnlyTensorSpan<T> над предоставленным Array с помощью указанных смещений, длин и успехов. Если шаги не предоставляются, они будут автоматически вычисляться.

ReadOnlyTensorSpan<T>(ReadOnlySpan<T>)

Создает новый ReadOnlyTensorSpan<T> над предоставленным ReadOnlySpan<T>. Новый ReadOnlyTensorSpan<T> будет иметь ранг 1 и длину, равную длине предоставленного ReadOnlySpan<T>.

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

Создает новый ReadOnlyTensorSpan<T> над предоставленным Span<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

Возвращает диапазон только для чтения длиной 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)
Устаревшие..

Этот метод не поддерживается, так как диапазоны нельзя упаковать. Чтобы сравнить два диапазона, используйте оператор==.

FlattenTo(Span<T>)

Неструктурирует содержимое этого диапазона в предоставленный Span<T>.

GetEnumerator()

Возвращает перечислитель для этого диапазона.

GetHashCode()
Устаревшие..

Этот метод не поддерживается, так как диапазоны нельзя упаковать.

GetPinnableReference()

Возвращает ссылку на 0-й элемент ReadOnlyTensorSpan. Если параметр 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>)

Передача данных из source в destination.

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

Изменяет tensor тензор на указанный lengths. Если одна из длин равна -1, она будет вычисляться автоматически. Не изменяет длину базовой памяти и не выделяет новую память. Если новая фигура несовместима со старой фигурой, создается исключение.

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

Определяет, равны ли две последовательности, сравнивая элементы с помощью IEquatable{T}. Equals(T).

Squeeze<T>(ReadOnlyTensorSpan<T>)

Удаляет все измерения длины из tensor.

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

Удаляет ось длины из tensor для заданного dimension. Если измерение не имеет длины, это приведет к возникновению исключения.

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

Создает String представление ReadOnlyTensorSpan<T>." />

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

Передача данных из tensor в наименьшую широковещательную фигуру, совместимую с destination, и сохраняет ее в destination Если фигуры несовместимы, возвращается значение false.

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

Вставьте новое измерение длины 1, которое будет отображаться в позиции измерения.

Применяется к