array クラス

データをアクセラレータに移動するために使用するデータ コンテナーを表します。

template <
   typename _Value_type,
   int _Rank
>
friend class array;

パラメーター

  • _Value_type
    データの要素型。

  • _Rank
    配列のランク。

メンバー

パブリック コンストラクター

名前

説明

array::array コンストラクター

array クラスの新しいインスタンスを初期化します。

array::~array デストラクター

array オブジェクトを破棄します。

パブリック メソッド

名前

説明

array::copy_to メソッド

array の内容を別の array にコピーします。

array::data メソッド

配列の生データへのポインターを返します。

array::get_accelerator_view メソッド

配列が割り当てられた位置を表す accelerator_view オブジェクトを返します。 このプロパティは CPU 上でのみアクセスできます。

array::get_associated_accelerator_view メソッド

ステージング コンストラクターが array オブジェクトをインスタンス化するために呼び出された場合、パラメーターとして渡される 2 番目の accelerator_view オブジェクトを取得します。

array::get_cpu_access_type メソッド

配列の access_type を返します。 このメソッドは CPU 上でのみアクセスできます。

array::get_extent メソッド

配列の extent オブジェクトを返します。

array::reinterpret_as メソッド

array オブジェクトのすべての要素を含む 1 次元配列を返します。

array::section メソッド

指定された原点にある array オブジェクトのサブセクションを返し、これは必要に応じて範囲が指定されます。

array::view_as メソッド

array オブジェクトから構築された array_view オブジェクトを返します。

パブリック演算子

名前

説明

array::operator std::vector<_Value_type> 演算子

copy(*this, vector) を使用して、配列を暗黙的に std::vector オブジェクトに変換します。

array::operator() 演算子

パラメーターによって指定された要素の値を返します。

array::operator[] 演算子

指定したインデックス位置にある要素を返します。

array::operator= 演算子

指定された array オブジェクトの内容をこのオブジェクトにコピーします。

パブリック定数

名前

説明

array::rank 定数

配列のランクを格納します。

パブリック データ メンバー

名前

説明

array::accelerator_view データ メンバー

配列が割り当てられた位置を表す accelerator_view オブジェクトを取得します。 このプロパティは CPU 上でのみアクセスできます。

array::associated_accelerator_view データ メンバー

ステージング コンストラクターが array オブジェクトをインスタンス化するために呼び出された場合、パラメーターとして渡される 2 番目の accelerator_view オブジェクトを取得します。

array::cpu_access_type データ メンバー

CPU が配列のストレージにアクセスできる方法を表す access_type を取得します。

array::extent データ メンバー

配列の図形を定義する範囲を取得します。

解説

array<T,N> 型は、アクセラレータや CPU などの特定の位置にある、密で正規の (ジャグ配列でない) N 次元の配列を表します。 配列の要素のデータ型は T で、ターゲット アクセラレータと互換性のある型である必要があります。 ランクは N であり、配列のランクは静的に決定され、型の一部です。配列の範囲は、ランタイムによって決定され、extent<N> クラスを使用して表されます。

いくつかの機能は、ランク 1、2、および 3 で array オブジェクトに特化していますが、配列はどの次元数も指定できます。 次元の引数を省略すると、既定値は 1 です。

配列データはメモリ内に連続して配置されます。 最下位の次元で "1" 異なる要素はメモリでは隣接しています。

配列が別の配列にコピーされる場合は詳細コピーが実行されるため、配列は論理的に値型であると見なされます。 2 つの配列が同じデータを指すことはありません。

array<T,N> 型はいくつかのシナリオで使用されます。

  • アクセラレータの計算で使用できるデータ コンテナーとして。

  • ホスト CPU にメモリを保持するデータ コンテナーとして (他の配列との間でコピーするために使用できます)。

  • ホストとデバイス間のコピーの高速の仲介役として機能するステージング オブジェクトとして。

継承階層

array

必要条件

ヘッダー: amp.h

名前空間: Concurrency

参照

関連項目

Concurrency 名前空間 (C++ AMP)