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


Класс index

Определяет N-мерный вектор индекса.

Синтаксис

template <int _Rank>
class index;

Параметры

_Rank
Ранг или количество измерений.

Участники

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

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

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

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

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

Имя Описание
rank Constant Хранит ранг объекта index.

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

index

Замечания

Структура index представляет вектор координат N целых чисел, который указывает уникальное положение в N-мерном пространстве. Значения в векторе упорядочиваются от наиболее значимых к наименее значимым. Значения компонентов можно получить с помощью operator=.

Требования

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

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

index Constructor

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

index() restrict(amp,cpu);

index(
   const index<_Rank>& _Other
) restrict(amp,cpu);

explicit index(
   int _I
) restrict(amp,cpu);

index(
   int _I0,
   int _I1
) restrict(amp,cpu);

index(
   int _I0,
   int _I1,
   int _I2
) restrict(amp,cpu);

explicit index(
   const int _Array[_Rank]
) restrict(amp,cpu);

Параметры

_Array
Одномерный массив со значениями ранга.

_I
Расположение индекса в одномерном индексе.

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

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

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

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

оператор--

Уменьшает каждый элемент объекта index.

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

index operator--(
   int
) restrict(amp,cpu);

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

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

operator%=

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

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

Параметры

_Rhs
Число, на которое производится деление, для расчета остатка.

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

Объект index.

оператор*=

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

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

Параметры

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

оператор/=

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

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

Параметры

_Rhs
Делитель.

оператор[]

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

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

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

Параметры

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

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

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

Замечания

В следующем примере выводятся значения компонентов индекса.

// Prints 1 2 3.
concurrency::index<3> idx(1, 2, 3);
std::cout << idx[0] << "\n";
std::cout << idx[1] << "\n";
std::cout << idx[2] << "\n";

оператор++

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

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

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

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

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

оператор+=

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

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

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

Параметры

_Rhs
Добавляемое число.

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

Объект index.

operator=

Копирует содержимое указанного объекта index в данный объект.

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

Параметры

_Other
Объект index, из которого необходимо выполнить копирование.

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

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

operator-=

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

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

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

Параметры

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

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

Объект index.

Rank

Возвращает ранг объекта index.

static const int rank = _Rank;

См. также

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