Бөлісу құралы:


Касс extent (C++ AMP)

Представляет вектор целочисленных значений N , указывающих границы N-размерного пространства с источником 0. Значения в векторе упорядочиваются от наиболее значимых к наименее значимым.

Синтаксис

template <int _Rank>
class extent;

Параметры

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

Требования

Заголовок : amp.h

Пространство имен : Concurrency

Участники

Открытые конструкторы

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

Открытые методы

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

Открытые операторы

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

Открытые константы

Имя Описание
rank Constant Возвращает ранг extent объекта.

Иерархия наследования

extent

содержит

Указывает, содержится ли указанное значение индекса в объекте extent .

Синтаксис

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

Параметры

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

Возвращаемое значение

true Значение индекса, если указанное значение индекса содержится в объекте extent ; в противном случае false.

extent

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

Синтаксис

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);

Параметры

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

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

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

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

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

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

Замечания

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

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

operator%=

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

Синтаксис

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

Параметры

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

Возвращаемое значение

Объект extent.

оператор*=

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

Синтаксис

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

Параметры

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

Возвращаемое значение

Объект extent.

operator+

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

Синтаксис

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

Параметры

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

Возвращаемое значение

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

оператор++

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

Синтаксис

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

Возвращаемое значение

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

оператор+=

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

Синтаксис

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);

Параметры

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

Возвращаемое значение

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

operator-

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

Синтаксис

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

Параметры

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

Возвращаемое значение

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

Оператор--

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

Синтаксис

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

Возвращаемое значение

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

оператор/=

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

Синтаксис

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

Параметры

_Rhs
Делитель.

Возвращаемое значение

Объект extent.

operator-=

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

Синтаксис

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);

Параметры

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

Возвращаемое значение

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

operator=

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

Синтаксис

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

Параметры

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

Возвращаемое значение

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

extent::operator []

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

Синтаксис

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

Параметры

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

Возвращаемое значение

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

rank

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

Синтаксис

static const int rank = _Rank;

size

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

Синтаксис

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

Плитка

Создает объект 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 ;

Параметры

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

См. также

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