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


Класс index

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

Синтаксис

template <int _Rank>
class index;

Параметры

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

Участники

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

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

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

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

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

Имя Описание
Константы ранжирования Хранит ранг объекта index.

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

index

Замечания

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

Требования

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

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

Конструктор индекса

Инициализирует новый экземпляр класса 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<_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<_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<_Rank>& operator++() restrict(amp,cpu);

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

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

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

оператор+=

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

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

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

Параметры

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

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

Объект индекса.

operator=

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

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

Параметры

_Other
Объект индекса, из которого будет выполнено копирование.

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

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

operator-=

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

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

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

Параметры

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

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

Объект индекса.

Ранг

Возвращает уровень объекта индекса.

static const int rank = _Rank;

См. также

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