Arrayklasse
Stellt einen Datencontainer dar, mit dem Daten auf eine Zugriffstaste verschoben werden.
template <
typename _Value_type,
int _Rank
>
friend class array;
Parameter
_Value_type
Der Elementtyp der Daten._Rank
Der Rang des Arrays.
Member
Öffentliche Konstruktoren
Name |
Beschreibung |
---|---|
Initialisiert eine neue Instanz der array-Klasse. |
|
Zerstört das array-Objekt. |
Öffentliche Methoden
Name |
Beschreibung |
---|---|
Kopiert den Inhalt des array-Objekts in ein anderes array-Objekt. |
|
Gibt einen Zeiger auf die Rohdaten des array-Objekts zurück. |
|
Gibt das accelerator_view-Objekt zurück, das die Position darstellt, der das Array zugeordnet ist. Auf diese Eigenschaft kann nur auf der CPU zugegriffen werden. |
|
Ruft das zweite accelerator_view-Objekt ab, das als Parameter übergeben wird, wenn ein Stagingkonstruktor aufgerufen wird, um das Array-Objekt zu instanziieren. |
|
Gibt das access_type-Objekt des Arrays zurück. Auf diese Methode kann nur auf der CPU zugegriffen werden. |
|
Gibt das extent-Objekt des Arrays zurück. |
|
Gibt ein eindimensionales Array zurück, das alle Elemente im array-Objekt enthält. |
|
Gibt einen Unterabschnitt des array-Objekts zurück, das sich am angegebenen Ursprung befindet und optional den angegebenen Wertebereich hat. |
|
Gibt ein array_view-Objekt zurück, das aus dem array-Objekt erstellt wird. |
Öffentliche Operatoren
Name |
Beschreibung |
---|---|
Verwendet copy(*this, vector), um das Array implizit in ein std::vector-Objekt zu konvertieren. |
|
Gibt den Elementwert zurück, der von den Parametern angegeben wird. |
|
Gibt das Element am angegebenen Index zurück. |
|
Kopiert den Inhalt des angegebenen array-Objekts in dieses Objekt. |
Öffentliche Konstanten
Name |
Beschreibung |
---|---|
Speichert den Rang des Arrays. |
Öffentliche Datenmember
Name |
Beschreibung |
---|---|
Ruft das accelerator_view-Objekt ab, das die Position darstellt, der das Array zugeordnet ist. Auf diese Eigenschaft kann nur auf der CPU zugegriffen werden. |
|
Ruft das zweite accelerator_view-Objekt ab, das als Parameter übergeben wird, wenn ein Stagingkonstruktor aufgerufen wird, um das Array-Objekt zu instanziieren. |
|
Ruft das access_type-Objekt ab, mit dem dargestellt wird, wie die CPU auf den Speicher des Arrays zugreifen kann. |
|
Ruft den Wertebereich ab, der die Form des Arrays definiert. |
Hinweise
Der Typ array<T,N> stellt ein dichtes und reguläres (nicht verzweigtes) N-dimensionales Array dar, das an einem bestimmten Speicherort, z. B. einer Zugriffstaste oder der CPU, abgelegt ist. Der Datentyp der Elemente im Array ist T. Der Typ muss mit der Zielzugriffstaste kompatibel ist. Obwohl der Rang, N, des Arrays statisch ermittelt und Teil des Typs ist, wird der Wertebereich des Arrays durch die Laufzeit bestimmt und durch Verwendung der extent<N>-Klasse ausgedrückt.
Ein Array kann eine beliebige Anzahl Dimensionen haben, obwohl einige Funktionen für array-Objekte mit dem Rang eins, zwei und drei spezialisiert ist. Wenn Sie das Dimensionsargument weglassen, ist der Standardwert 1.
Arraydaten grenzen im Arbeitsspeicher aneinander. Elemente, die sich in der unwichtigsten Dimension um eins unterscheiden, grenzen im Arbeitsspeicher aneinander.
Arrays werden logisch als Werttypen betrachtet, da beim Kopieren eines Arrays in ein anderes eine tiefe Kopie ausgeführt wird. Zwei Arrays zeigen nie auf die gleichen Daten.
Der array<T,N>-Typ wird in verschiedenen Szenarien verwendet:
Als Datencontainer, der in Berechnungen auf einer Zugriffstaste verwendet werden kann.
Als Datencontainer zum Vorhalten von Arbeitsspeicher auf der Host-CPU (die zum Kopieren in und von anderen Arrays verwendet werden kann).
Als Stagingobjekt, um in Kopien vom Host zum Gerät als schneller Vermittler zu fungieren.
Vererbungshierarchie
array
Anforderungen
Header: amp.h
Namespace: Nebenläufigkeit