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


Класс extent (C++ AMP)

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

Синтаксис

template <int _Rank>
class extent;

Параметры

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

Требования

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

Пространство имен: Конкуренция

Members

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

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

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

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

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

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

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

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

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

extent

содержит

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

Синтаксис

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

Параметры

_Индекс
Значение 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 объекта.


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

_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.

оператор-

Создает новый 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);

Параметры

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

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

Элемент, находящийся по указанному индексу.

ранг

Хранит ранг объекта 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)