Anmerkung
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen, dich anzumelden oder die Verzeichnisse zu wechseln.
Der Zugriff auf diese Seite erfordert eine Genehmigung. Du kannst versuchen , die Verzeichnisse 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;