Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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;