index — Klasa
Definiuje wektor indeksu N-wymiarowego.
Składnia
template <int _Rank>
class index;
Parametry
_Ranga
Ranga lub liczba wymiarów.
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
konstruktor indeksu | Inicjuje nowe wystąpienie klasy index . |
Operatory publiczne
Nazwa/nazwisko | opis |
---|---|
operator-- | Dekrementuje każdy element index obiektu. |
operator%= | Oblicza modulus (resztę) każdego elementu w index obiekcie, gdy ten element jest podzielony przez liczbę. |
operator*= | Mnoży każdy element index obiektu przez liczbę. |
operator/= | Dzieli każdy element index obiektu na liczbę. |
index::operator[] | Zwraca element znajdujący się w określonym indeksie. |
operator++ | Zwiększa każdy element index obiektu. |
operator+= | Dodaje określoną liczbę do każdego elementu index obiektu. |
operator = | Kopiuje zawartość określonego index obiektu do tego. |
operator-= | Odejmuje określoną liczbę z każdego elementu index obiektu. |
Stałe publiczne
Nazwa/nazwisko | opis |
---|---|
ranga, stała | Przechowuje rangę index obiektu. |
Hierarchia dziedziczenia
index
Uwagi
Struktura index
reprezentuje wektor współrzędny N liczb całkowitych, który określa unikatową pozycję w przestrzeni N-wymiarowej. Wartości w wektorze są uporządkowane od najbardziej znaczących do najmniej znaczących. Wartości składników można pobrać przy użyciu operatora=.
Wymagania
Nagłówek: amp.h
Przestrzeń nazw: współbieżność
konstruktor indeksu
Inicjuje nowe wystąpienie klasy indeksu.
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);
Parametry
_Tablica
Tablica jednowymiarowa z wartościami rangi.
_Ja
Lokalizacja indeksu w indeksie jednowymiarowym.
_I0
Długość najbardziej znaczącego wymiaru.
_I1
Długość wymiaru następnego do najbardziej znaczącego.
_I2
Długość najmniej znaczącego wymiaru.
_Inny
Obiekt indeksu, na którym jest oparty nowy obiekt indeksu.
operator--
Dekrementuje każdy element obiektu indeksu.
index<_Rank>& operator--() restrict(amp,cpu);
index operator--(
int
) restrict(amp,cpu);
Wartości zwracane
Dla operatora prefiksu obiekt indeksu (*this
). Dla operatora sufiksu nowy obiekt indeksu.
operator%=
Oblicza modulo (resztę) każdego elementu w obiekcie indeksu, gdy ten element jest podzielony przez określoną liczbę.
index<_Rank>& operator%=(
int _Rhs
) restrict(cpu, amp);
Parametry
_Rhs
Liczba, przez którą należy podzielić, aby znaleźć modulo.
Wartość zwracana
Obiekt indeksu.
operator*=
Mnoży każdy element w obiekcie indeksu przez określoną liczbę.
index<_Rank>& operator*=(
int _Rhs
) restrict(amp,cpu);
Parametry
_Rhs
Liczba do pomnożenia.
operator/=
Dzieli każdy element w obiekcie indeksu przez określoną liczbę.
index<_Rank>& operator/=(
int _Rhs
) restrict(amp,cpu);
Parametry
_Rhs
Liczba do podzielenia.
operator[]
Zwraca składnik indeksu w określonej lokalizacji.
int operator[] (
unsigned _Index
) const restrict(amp,cpu);
int& operator[] (
unsigned _Index
) restrict(amp,cpu);
Parametry
_Indeks
Liczba całkowita z zakresu od 0 do rangi minus 1.
Wartość zwracana
Element, który znajduje się w określonym indeksie.
Uwagi
W poniższym przykładzie przedstawiono wartości składników indeksu.
// 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";
operator++
Zwiększa każdy element obiektu indeksu.
index<_Rank>& operator++() restrict(amp,cpu);
index<_Rank> operator++(
int
) restrict(amp,cpu);
Wartość zwracana
Dla operatora prefiksu obiekt indeksu (*this
). Dla operatora sufiksu nowy obiekt indeksu.
operator+=
Dodaje określoną liczbę do każdego elementu obiektu indeksu.
index<_Rank>& operator+=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator+=(
int _Rhs
) restrict(amp,cpu);
Parametry
_Rhs
Liczba do dodania.
Wartość zwracana
Obiekt indeksu.
operator =
Kopiuje zawartość określonego obiektu indeksu do tego obiektu.
index<_Rank>& operator=(
const index<_Rank>& _Other
) restrict(amp,cpu);
Parametry
_Inny
Obiekt indeksu do skopiowania.
Wartość zwracana
Odwołanie do tego obiektu indeksu.
operator-=
Odejmuje określoną liczbę z każdego elementu obiektu indeksu.
index<_Rank>& operator-=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator-=(
int _Rhs
) restrict(amp,cpu);
Parametry
_Rhs
Liczba do odejmowania.
Wartość zwracana
Obiekt indeksu.
Ranga
Pobiera rangę obiektu indeksu.
static const int rank = _Rank;