index-Klasse
Definiert einen n-dimensionalen Indexvektor.
Syntax
template <int _Rank>
class index;
Parameter
_Rank
Der Rang oder die Anzahl von Dimensionen.
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
index-Konstruktor | Initialisiert eine neue Instanz der index -Klasse. |
Öffentliche Operatoren
Name | Beschreibung |
---|---|
Operator-- | Dekrementiert jedes Element des index -Objekts. |
operator%= | Berechnet den Modul (Rest) jedes Elements im index -Objekt, wenn dieses Element durch eine Zahl dividiert wird. |
operator*= | Multipliziert jedes Element des index -Objekts mit einer Zahl. |
operator/= | Dividiert jedes Element des index -Objekts durch eine Zahl. |
index::operator[] | Gibt das Element am angegebenen Index zurück. |
operator++ | Inkrementiert jedes Element des index -Objekts. |
operator+= | Fügt die angegebene Zahl jedem Element des index -Objekts hinzu. |
operator= | Kopiert den Inhalt des angegebenen index -Objekts in dieses Objekt. |
operator-= | Subtrahiert die angegebene Anzahl von jedem Element des index -Objekts. |
Öffentliche Konstanten
Name | Beschreibung |
---|---|
rank-Konstante | Speichert den Rang des index -Objekts. |
Vererbungshierarchie
index
Hinweise
Die index
-Struktur stellt einen Koordinatenvektor von n ganzen Zahlen dar, der eine eindeutige Position in einem n-dimensionalen Raum angibt. Die Werte im Vektor sind vom wichtigsten zum am wenigsten wichtigen Wert sortiert. Sie können die Werte der Komponenten mit operator= abrufen.
Anforderungen
Header: amp.h
Namespace: Parallelität
index-Konstruktor
Initialisiert eine neue Instanz der Indexklasse.
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);
Parameter
_Array
Ein eindimensionales Array mit den Rangwerten.
_I
Die Indexposition in einem eindimensionalen Index.
_I0
Die Länge der wichtigsten Dimension.
_I1
Die Länge der zweitwichtigsten Dimension.
_I2
Die Länge der unwichtigsten Dimension.
_Other
Ein index-Objekt, auf dem das neue index-Objekt basiert.
Operator--
Erhöht jedes Element des Indexobjekts.
index<_Rank>& operator--() restrict(amp,cpu);
index operator--(
int
) restrict(amp,cpu);
Rückgabewerte
Für den Präfixoperator das index-Objekt (*this
) Für den Suffixoperator ein neues index-Objekt.
operator%=
Berechnet den Modulo (Rest) jedes Elements im index-Objekt, wenn dieses Element durch eine Zahl dividiert wird.
index<_Rank>& operator%=(
int _Rhs
) restrict(cpu, amp);
Parameter
_Rhs
Die Zahl, durch die dividiert werden soll, um den Modulo zu finden.
Rückgabewert
Das index-Objekt.
operator*=
Multipliziert jedes Element im Indexobjekt mit der angegebenen Zahl.
index<_Rank>& operator*=(
int _Rhs
) restrict(amp,cpu);
Parameter
_Rhs
Die zu multiplizierende Zahl.
operator/=
Dividiert jedes Element im Indexobjekt durch die angegebene Zahl.
index<_Rank>& operator/=(
int _Rhs
) restrict(amp,cpu);
Parameter
_Rhs
Die Zahl, durch die dividiert wird.
operator[]
Gibt die Komponente des Index an der angegebenen Position zurück.
int operator[] (
unsigned _Index
) const restrict(amp,cpu);
int& operator[] (
unsigned _Index
) restrict(amp,cpu);
Parameter
_Index
Eine ganze Zahl von 0 durch den Rang minus 1.
Rückgabewert
Das Element am angegebenen Index.
Hinweise
Im folgenden Beispiel werden die Komponentenwerte des Index angezeigt.
// 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++
Erhöht jedes Element des Indexobjekts.
index<_Rank>& operator++() restrict(amp,cpu);
index<_Rank> operator++(
int
) restrict(amp,cpu);
Rückgabewert
Für den Präfixoperator das index-Objekt (*this
) Für den Suffixoperator ein neues index-Objekt.
operator+=
Fügt jedes Element des Indexobjekts die angegebene Zahl hinzu.
index<_Rank>& operator+=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator+=(
int _Rhs
) restrict(amp,cpu);
Parameter
_Rhs
Die hinzuzufügende Zahl.
Rückgabewert
Das index-Objekt.
operator =
Kopiert den Inhalt des angegebenen Indexobjekts in dieses Objekt.
index<_Rank>& operator=(
const index<_Rank>& _Other
) restrict(amp,cpu);
Parameter
_Other
Das Indexobjekt, aus dem kopiert werden soll.
Rückgabewert
Ein Verweis auf dieses Indexobjekt.
operator-=
Subtrahiert die angegebene Zahl von jedem Element des Indexobjekts.
index<_Rank>& operator-=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator-=(
int _Rhs
) restrict(amp,cpu);
Parameter
_Rhs
Die zu subtrahierende Zahl.
Rückgabewert
Das index-Objekt.
Rang
Ruft den Rang des Indexobjekts ab.
static const int rank = _Rank;