Поделиться через


Касс extent (C++ AMP)

Represents a vector of N integer values that specify the bounds of an N-dimensional space that has an origin of 0. Значения в векторе упорядочиваются от наиболее значимых к наименее значимым.

Syntax

template <int _Rank>
class extent;

Parameters

_Rank
Ранг extent объекта.

Requirements

Header: amp.h

Namespace: Concurrency

Members

Public Constructors

Name Description
extent Constructor Инициализирует новый экземпляр класса extent.

Public Methods

Name Description
contains Проверяет, имеет ли указанный extent объект указанный ранг.
size Возвращает общий линейный размер экстента (в единицах элементов).
tile tiled_extent Создает объект с экстентами плиток, заданными указанными измерениями.

Public Operators

Name Description
operator- Возвращает новый extent объект, созданный путем вычитания index элементов из соответствующих extent элементов.
operator-- Уменьшает каждый элемент объекта extent.
operator%= Вычисляет остаток от деления каждого элемента в объекте extent, если этот элемент делится на число.
operator*= Умножает каждый элемент объекта extent на число.
operator/= Делит каждый элемент объекта extent на число.
extent::operator[] Возвращает элемент по указанному индексу.
operator+ Возвращает новый extent объект, созданный путем добавления соответствующих index и extent элементов.
operator++ Увеличивает каждый элемент объекта extent.
operator+= Добавляет указанное число к каждому элементу объекта extent.
operator= Копирует содержимое другого extent объекта в этот объект.
operator-= Вычитает указанное число из каждого элемента объекта extent.

Public Constants

Name Description
rank Constant Возвращает ранг extent объекта.

Inheritance Hierarchy

extent

contains

Indicates whether the specified index value is contained within the extent object.

Syntax

bool contains(const index<rank>& _Index) const restrict(amp,cpu);

Parameters

_Index
Значение index для тестирования.

Return Value

true if the specified index value is contained in the extent object; otherwise, false.

extent

Инициализирует новый экземпляр класса extent.

Syntax

extent() restrict(amp,cpu);
extent(const extent<_Rank>& _Other) restrict(amp,cpu);
explicit extent(int _I) restrict(amp,cpu);
extent(int _I0,  int _I1) restrict(amp,cpu);
extent(int _I0,  int _I1, int _I2) restrict(amp,cpu);
explicit extent(const int _Array[_Rank])restrict(amp,cpu);

Parameters

_Array
Массив целых чисел, используемых _Rank для создания нового extent объекта.

_I
Длина экстента.

_I0
Длина самого большого измерения.

_I1
Длина второго по величине измерения.

_I2
Длина меньшего измерения.

_Other
Объект extent , на котором основан новый extent объект.

Remarks

Конструктор по умолчанию инициализирует extent объект с рангом 3.

Если массив используется для создания extent объекта, длина массива должна соответствовать рангу extent объекта.

operator%=

Вычисляет модулу (оставшуюся часть) каждого элемента в extent том случае, когда этот элемент делится на число.

Syntax

extent<_Rank>& operator%=(int _Rhs) restrict(cpu, direct3d);

Parameters

_Rhs
Число для поиска модуля.

Return Value

Объект extent.

operator*=

Умножает каждый элемент объекта extent на указанное число.

Syntax

extent<_Rank>& operator*=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Число для умножения.

Return Value

Объект extent.

operator+

Возвращает новый extent объект, созданный путем добавления соответствующих index и extent элементов.

Syntax

extent<_Rank> operator+(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Объект index , содержащий добавляемые элементы.

Return Value

Новый объект extent.

operator++

Увеличивает каждый элемент объекта extent.

Syntax

extent<_Rank>& operator++() restrict(amp,cpu);
extent<_Rank> operator++(int)restrict(amp,cpu);

Return Value

Для оператора extent префикса объект (*this). Для оператора суффикса новый extent объект.

operator+=

Добавляет указанное число к каждому элементу объекта extent.

Syntax

extent<_Rank>& operator+=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Число, индекс или степень для добавления.

Return Value

Результирующий объект extent.

operator-

Создает новый extent объект, вычитая каждый элемент в указанном index объекте из соответствующего элемента в этом extent объекте.

Syntax

extent<_Rank> operator-(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Объект index , содержащий элементы для вычитания.

Return Value

Новый объект extent.

operator--

Декрементирует каждый элемент в объекте extent .

Syntax

extent<_Rank>& operator--() restrict(amp,cpu);
extent<_Rank> operator--(int)restrict(amp,cpu);

Return Value

Для оператора extent префикса объект (*this). Для оператора суффикса новый extent объект.

operator/=

Делит каждый элемент объекта extent на указанное число.

Syntax

extent<_Rank>& operator/=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Делитель.

Return Value

Объект extent.

operator-=

Вычитает указанное число из каждого элемента объекта extent.

Syntax

extent<_Rank>& operator-=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(int _Rhs) restrict(amp,cpu);

Parameters

_Rhs
Вычитаемое число.

Return Value

Результирующий объект extent.

operator=

Копирует содержимое другого extent объекта в этот объект.

Syntax

extent<_Rank>& operator=(const extent<_Rank>& _Other) restrict(amp,cpu);

Parameters

_Other
Объект extent , из который нужно скопировать.

Return Value

Ссылка на этот extent объект.

extent::operator []

Возвращает элемент по указанному индексу.

Syntax

int operator[](unsigned int _Index) const restrict(amp,cpu);
int& operator[](unsigned int _Index) restrict(amp,cpu);

Parameters

_Index
Целое число от 0 до ранга минус 1.

Return Value

Элемент по указанному индексу.

rank

Хранит ранг объекта extent.

Syntax

static const int rank = _Rank;

size

Возвращает общий линейный extent размер объекта (в единицах элементов).

Syntax

unsigned int size() const restrict(amp,cpu);

tile

Создает объект tiled_extent с указанными измерениями плитки.

template <int _Dim0>
tiled_extent<_Dim0> tile() const ;

template <int _Dim0, int _Dim1>
tiled_extent<_Dim0, _Dim1> tile() const ;

template <int _Dim0, int _Dim1, int _Dim2>
tiled_extent<_Dim0, _Dim1, _Dim2> tile() const ;

Parameters

_Dim0
Наиболее значимый компонент фрагментированного экстента.

_Dim1
Следующий к наиболее значимым компоненту фрагментированного экстента.

_Dim2
Наименее значимый компонент фрагментированного экстента.

See also

Пространство имен Concurrency (C++ AMP)