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


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

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

Syntax

template <int _Rank>
class extent;

Parameters

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

Requirements

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

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

Members

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

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

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

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

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

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.

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

Name Description
Константы ранжирования Возвращает ранг extent объекта.

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

extent

contains

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

Syntax

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

Parameters

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

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

true если указанное значение индекса содержится в extent объекте; в противном случае 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
Число, по которому определяется модуль.

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

Объект extent.

operator*=

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

Syntax

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

Parameters

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

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

Объект extent.

operator+

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

Syntax

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

Parameters

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

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

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

operator++

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

Syntax

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

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

Для префиксного оператора 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
Число, индекс или размер для добавления.

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

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

operator-

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

Syntax

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

Parameters

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

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

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

operator--

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

Syntax

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

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

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

operator/=

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

Syntax

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

Parameters

_Rhs
Число, на которое нужно делить.

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

Объект 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
Вычитаемое число.

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

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

operator=

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

Syntax

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

Parameters

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

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

Ссылка на этот 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.

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

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

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
Наименее значимый компонент замощенного экстента.

См. также

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