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;

Siehe auch

Concurrency-Namespace (C++ AMP)