index クラス
N 次元の index ベクターを定義します。
構文
template <int _Rank>
class index;
パラメーター
_Rank
ランク (次元数)。
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
index コンストラクター | index クラスの新しいインスタンスを初期化します。 |
パブリック演算子
名前 | 説明 |
---|---|
operator-- | index オブジェクトの各要素をデクリメントします。 |
operator%= | その要素がある数で除算された場合、index オブジェクトの各要素の剰余を計算します。 |
operator*= | index オブジェクトの各要素をある数で乗算します。 |
operator/= | index オブジェクトの各要素をある数で除算します。 |
index::operator[] | 指定したインデックス位置にある要素を返します。 |
operator++ | index オブジェクトの各要素をインクリメントします。 |
operator+= | 指定した数を index オブジェクトの各要素に加算します。 |
operator= | 指定された index オブジェクトの内容をこのオブジェクトにコピーします。 |
operator-= | 指定した数を index オブジェクトの各要素から減算します。 |
パブリック定数
名前 | 説明 |
---|---|
rank 定数 | index オブジェクトのランクを格納します。 |
継承階層
index
解説
index
構造体は、N 次元の空間の一意の場所を指定する N 整数の座標ベクターを表します。 ベクターの値は最上位から最下位へ順に並べ替えられます。 operator= を使用して、コンポーネントの値を取得できます。
要件
ヘッダー: amp.h
名前空間: Concurrency
index コンストラクター
インデックス クラスの新しいインスタンスを初期化します。
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);
パラメーター
_Array
ランク値を持つ 1 次元配列。
_I
1 次元インデックスのインデックス位置。
_I0
最上位の次元の長さ。
_I1
最上位の次の次元の長さ。
_I2
最下位の次元の長さ。
_Other
新しい index オブジェクトが基づく index オブジェクト。
operator--
インデックス オブジェクトの各要素をデクリメントします。
index<_Rank>& operator--() restrict(amp,cpu);
index operator--(
int
) restrict(amp,cpu);
戻り値
前置演算子の場合は、index オブジェクト (*this
) です。 サフィックス演算子の場合は、新しい index オブジェクトです。
operator%=
その要素が指定の数で除算された場合、index オブジェクトの各要素の剰余を計算します。
index<_Rank>& operator%=(
int _Rhs
) restrict(cpu, amp);
パラメーター
_Rhs
剰余を求めるために除算する数値。
戻り値
index オブジェクトです。
operator*=
インデックス オブジェクト内の各要素に、指定した数を乗算します。
index<_Rank>& operator*=(
int _Rhs
) restrict(amp,cpu);
パラメーター
_Rhs
乗算対象の数です。
operator/=
インデックス オブジェクト内の各要素を指定した数で除算します。
index<_Rank>& operator/=(
int _Rhs
) restrict(amp,cpu);
パラメーター
_Rhs
除数。
operator[]
指定した位置にあるインデックスのコンポーネントを返します。
int operator[] (
unsigned _Index
) const restrict(amp,cpu);
int& operator[] (
unsigned _Index
) restrict(amp,cpu);
パラメーター
_Index
0 からランク - 1 までの整数。
戻り値
指定したインデックス位置にある要素。
解説
次の例では、インデックスのコンポーネント値を表示します。
// 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++
インデックス オブジェクトの各要素をインクリメントします。
index<_Rank>& operator++() restrict(amp,cpu);
index<_Rank> operator++(
int
) restrict(amp,cpu);
戻り値
前置演算子の場合は、index オブジェクト (*this
) です。 サフィックス演算子の場合は、新しい index オブジェクトです。
operator+=
指定した番号をインデックス オブジェクトの各要素に追加します。
index<_Rank>& operator+=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator+=(
int _Rhs
) restrict(amp,cpu);
パラメーター
_Rhs
加算する数。
戻り値
index オブジェクトです。
operator=
指定したインデックス オブジェクトの内容をこのオブジェクトにコピーします。
index<_Rank>& operator=(
const index<_Rank>& _Other
) restrict(amp,cpu);
パラメーター
_Other
コピーする index オブジェクト。
戻り値
この index オブジェクトへの参照。
operator-=
インデックス オブジェクトの各要素から指定した数を減算します。
index<_Rank>& operator-=(
const index<_Rank>& _Rhs
) restrict(amp,cpu);
index<_Rank>& operator-=(
int _Rhs
) restrict(amp,cpu);
パラメーター
_Rhs
減算する数。
戻り値
index オブジェクトです。
順位
index オブジェクトの順位を取得します。
static const int rank = _Rank;