Freigeben über


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

array::array-Konstruktor

Initialisiert eine neue Instanz der array-Klasse.

array::~array-Destruktor

Zerstört das array-Objekt.

Öffentliche Methoden

Name

Beschreibung

array::copy_to-Methode

Kopiert den Inhalt des array-Objekts in ein anderes array-Objekt.

array::data-Methode

Gibt einen Zeiger auf die Rohdaten des array-Objekts zurück.

array::get_accelerator_view-Methode

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.

array::get_associated_accelerator_view-Methode

Ruft das zweite accelerator_view-Objekt ab, das als Parameter übergeben wird, wenn ein Stagingkonstruktor aufgerufen wird, um das Array-Objekt zu instanziieren.

array::get_cpu_access_type-Methode

Gibt das access_type-Objekt des Arrays zurück. Auf diese Methode kann nur auf der CPU zugegriffen werden.

array::get_extent-Methode

Gibt das extent-Objekt des Arrays zurück.

array::reinterpret_as-Methode

Gibt ein eindimensionales Array zurück, das alle Elemente im array-Objekt enthält.

array::section-Methode

Gibt einen Unterabschnitt des array-Objekts zurück, das sich am angegebenen Ursprung befindet und optional den angegebenen Wertebereich hat.

array::view_as-Methode

Gibt ein array_view-Objekt zurück, das aus dem array-Objekt erstellt wird.

Öffentliche Operatoren

Name

Beschreibung

array::operator std::vector<_Value_type>-Operator

Verwendet copy(*this, vector), um das Array implizit in ein std::vector-Objekt zu konvertieren.

array::operator()-Operator

Gibt den Elementwert zurück, der von den Parametern angegeben wird.

array::operator[]-Operator

Gibt das Element am angegebenen Index zurück.

array::operator=-Operator

Kopiert den Inhalt des angegebenen array-Objekts in dieses Objekt.

Öffentliche Konstanten

Name

Beschreibung

array::rank-Konstante

Speichert den Rang des Arrays.

Öffentliche Datenmember

Name

Beschreibung

array::accelerator_view-Datenmember

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.

array::associated_accelerator_view-Datenmember

Ruft das zweite accelerator_view-Objekt ab, das als Parameter übergeben wird, wenn ein Stagingkonstruktor aufgerufen wird, um das Array-Objekt zu instanziieren.

array::cpu_access_type-Datenmember

Ruft das access_type-Objekt ab, mit dem dargestellt wird, wie die CPU auf den Speicher des Arrays zugreifen kann.

array::extent-Datenmember

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

Siehe auch

Referenz

Concurrency-Namespace (C++ AMP)