extent-Klasse (C++ AMP)

Stellt einen Vektor von N-Ganzzahlwerten dar, die die Grenzen eines N-dimensionalen Raums angeben, der einen Ursprung von 0 hat. Die Werte im Vektor sind vom wichtigsten zum am wenigsten wichtigen Wert sortiert.

Syntax

template <int _Rank>
class extent;

Parameter

_Rank
Der Rang des extent-Objekts.

Anforderungen

Header: amp.h

Namespace: Parallelität

Member

Öffentliche Konstruktoren

Name Beschreibung
Extent-Konstruktor Initialisiert eine neue Instanz der extent-Klasse.

Öffentliche Methoden

Name Beschreibung
contains Überprüft, ob das angegebene extent-Objekt über den angegebenen Rang verfügt.
size Gibt die lineare Gesamtgröße des Wertebereichs zurück (in der Einheit Elemente).
Fliese Erzeugt ein tiled_extent-Objekt mit den Kachelwertebereichen, die durch angegebene Dimensionen festgelegt werden.

Öffentliche Operatoren

Name Beschreibung
operator- Gibt ein neues extent-Objekt zurück, das erstellt wird, indem die index-Elemente von den entsprechenden extent-Elementen subtrahiert werden.
Operator-- Dekrementiert jedes Element des extent-Objekts.
operator%= Berechnet den Modul (Rest) jedes Elements im extent-Objekt, wenn dieses Element durch eine Zahl dividiert wird.
operator*= Multipliziert jedes Element des extent-Objekts mit einer Zahl.
operator/= Dividiert jedes Element des extent-Objekts durch eine Zahl.
extent::operator[] Gibt das Element am angegebenen Index zurück.
operator+ Gibt ein neues extent-Objekt zurück, das durch Hinzufügen der entsprechenden index- und extent-Elemente erstellt wird.
operator++ Inkrementiert jedes Element des extent-Objekts.
operator+= Fügt die angegebene Zahl jedem Element des extent-Objekts hinzu.
operator= Kopiert den Inhalt eines anderen extent-Objekts in dieses Objekt.
operator-= Subtrahiert die angegebene Anzahl von jedem Element des extent-Objekts.

Öffentliche Konstanten

Name Beschreibung
rank-Konstante Ruft den Rang des extent-Objekts ab.

Vererbungshierarchie

extent

contains

Gibt an, ob der angegebene Indexwert im extent Objekt enthalten ist.

Syntax

bool contains(const index<rank>& _Index) const restrict(amp,cpu);

Parameter

_Index
Der zu testende index-Wert.

Rückgabewert

true wenn der angegebene Indexwert im extent Objekt enthalten ist; andernfalls false.

extent

Initialisiert eine neue Instanz der extent-Klasse.

Syntax

extent() restrict(amp,cpu);
extent(const extent<_Rank>& _Other) restrict(amp,cpu);
explicit extent(int _I) restrict(amp,cpu);
extent(int _I0,  int _I1) restrict(amp,cpu);
extent(int _I0,  int _I1, int _I2) restrict(amp,cpu);
explicit extent(const int _Array[_Rank])restrict(amp,cpu);

Parameter

_Array
Ein Array mit ganzen _Rank-Zahlen, mit dem das neue extent-Objekt erstellt wird.

_I
Die Länge des Wertebereichs.

_I0
Die Länge der wichtigsten Dimension.

_I1
Die Länge der zweitwichtigsten Dimension.

_I2
Die Länge der unwichtigsten Dimension.

_Other
Ein extent-Objekt, auf dem das neue extent-Objekt basiert.

Hinweise

Der Standardkonstruktor initialisiert ein extent Objekt mit einer Rangfolge von drei.

Wenn ein Array verwendet wird, um ein extent-Objekt zu erstellen, muss die Länge des Arrays mit dem Rang des extent-Objekts übereinstimmen.

operator%=

Berechnet den Modulus (Rest) jedes Elements, extent wenn das Element durch eine Zahl dividiert wird.

Syntax

extent<_Rank>& operator%=(int _Rhs) restrict(cpu, direct3d);

Parameter

_Rhs
Die Zahl, deren Modulus gefunden werden soll.

Rückgabewert

Das extent-Objekt.

operator*=

Multipliziert jedes Element im extent Objekt mit der angegebenen Zahl.

Syntax

extent<_Rank>& operator*=(int _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Die zu multiplizierende Zahl.

Rückgabewert

Das extent-Objekt.

operator+

Gibt ein neues extent-Objekt zurück, das durch Hinzufügen der entsprechenden index- und extent-Elemente erstellt wird.

Syntax

extent<_Rank> operator+(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Das index-Objekt, das die hinzuzufügenden Elemente enthält.

Rückgabewert

Das neue extent-Objekt.

operator++

Inkrementiert jedes Element des extent-Objekts.

Syntax

extent<_Rank>& operator++() restrict(amp,cpu);
extent<_Rank> operator++(int)restrict(amp,cpu);

Rückgabewert

Für den Präfixoperator das extent-Objekt (*this). Für den Suffixoperator ein neues extent-Objekt.

operator+=

Fügt die angegebene Zahl jedem Element des extent-Objekts hinzu.

Syntax

extent<_Rank>& operator+=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator+=(int _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Die Zahl, der Index oder der Wertebereich, die bzw. der hinzugefügt werden soll.

Rückgabewert

Das resultierende extent-Objekt.

operator-

Erstellt ein neues extent-Objekt durch Subtrahieren der einzelnen Elemente im angegebenen index-Objekt vom entsprechenden Element in diesem extent-Objekt.

Syntax

extent<_Rank> operator-(const index<_Rank>& _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Das index-Objekt, das die zu subtrahierenden Elemente enthält.

Rückgabewert

Das neue extent-Objekt.

Operator--

Erhöht jedes Element im extent Objekt.

Syntax

extent<_Rank>& operator--() restrict(amp,cpu);
extent<_Rank> operator--(int)restrict(amp,cpu);

Rückgabewert

Für den Präfixoperator das extent-Objekt (*this). Für den Suffixoperator ein neues extent-Objekt.

operator/=

Dividiert jedes Element im extent Objekt durch die angegebene Zahl.

Syntax

extent<_Rank>& operator/=(int _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Die Zahl, durch die dividiert wird.

Rückgabewert

Das extent-Objekt.

operator-=

Subtrahiert die angegebene Anzahl von jedem Element des extent-Objekts.

Syntax

extent<_Rank>& operator-=(const extent<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(const index<_Rank>& _Rhs) restrict(amp,cpu);
extent<_Rank>& operator-=(int _Rhs) restrict(amp,cpu);

Parameter

_Rhs
Die zu subtrahierende Zahl.

Rückgabewert

Das resultierende extent-Objekt.

operator =

Kopiert den Inhalt eines anderen extent-Objekts in dieses Objekt.

Syntax

extent<_Rank>& operator=(const extent<_Rank>& _Other) restrict(amp,cpu);

Parameter

_Other
Das extent-Objekt, aus dem kopiert werden soll.

Rückgabewert

Ein Verweis auf das extent-Objekt.

extent::operator []

Gibt das Element am angegebenen Index zurück.

Syntax

int operator[](unsigned int _Index) const restrict(amp,cpu);
int& operator[](unsigned int _Index) restrict(amp,cpu);

Parameter

_Index
Eine ganze Zahl von 0 durch den Rang minus 1.

Rückgabewert

Das Element am angegebenen Index.

rank

Speichert den Rang des extent-Objekts.

Syntax

static const int rank = _Rank;

size

Gibt die lineare Gesamtgröße des extent Objekts (in Elementeinheiten) zurück.

Syntax

unsigned int size() const restrict(amp,cpu);

tile

Erzeugt ein tiled_extent -Objekt mit den angegebenen Kachelabmessungen.

template <int _Dim0>
tiled_extent<_Dim0> tile() const ;

template <int _Dim0, int _Dim1>
tiled_extent<_Dim0, _Dim1> tile() const ;

template <int _Dim0, int _Dim1, int _Dim2>
tiled_extent<_Dim0, _Dim1, _Dim2> tile() const ;

Parameter

_Dim0
Die wichtigste Komponente des unterteilten Wertebereichs. _Dim1
Die zweitwichtigste Komponente des unterteilten Wertebereichs. _Dim2
Die unwichtigste Komponente des unterteilten Wertebereichs.

Siehe auch

Concurrency-Namespace (C++ AMP)