インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス
可変個引数テンプレート・クラス n_extent_t は、n_dimensional コンテナーの形状 (次元の数と各次元のサイズ) を表します。
template<typename... TypeListT>
class n_extent_t
n_extent_t は、コンテナーの形状を各次元のサイズのシーケンスで表します。各次元のサイズは、異なる型で表現できます。この柔軟性のため、同じインターフェイスを利用して、コンパイル時にすべての次元が分かっている場合は fixed<int NumberT> で、実行時に判明する場合は int で、そして実行時に必ず判明する場合は aligned<int Alignment> の倍数で n_extents_t を宣言できます。詳細は、「数値表現」を参照してください。
次の表は、n_extent_t のテンプレート引数の情報です。
テンプレート引数 |
説明 |
---|---|
|
型のカンマ区切りリスト。型の数がジェネレーターの次元数を制御します。リスト中の各型は、対応する次元のサイズを示します。次元の順番は、C++ の多次元配列の添字と同じ (左端から右端) です。 通常の C++ 添字順 (外側から内側) で対応する次元サイズ (範囲) を示す各値は、int、fixed<NumberT>、または aligned<AlignmentT> 型でなければなりません。 |
次の表は、n_extent_t のメンバーの情報です。
メンバー |
説明 |
---|---|
|
次元数。 |
|
最後の次元 row のインデックス。 |
|
要件: TypeListT のすべての型はデフォルト・コンストラクター。 効果: 次元サイズに対する TypeListT の各型のデフォルト値を使用して、n_extent_t を構築します。一般に、すべての型が fixed<NumberT> の場合のみ正しく初期化されます。 |
|
効果: a_other から各次元のサイズをコピーして n_exent_t を構築します。 |
|
効果: 引数として渡された a_values のリストの対応する値で各次元を初期化して、n_exent_t を構築します。a_values は、長さと型が TypeListT によって定義される値のカンマ区切りリストです。 |
|
要件: DimenstionT >=0 および DimensiontT < rank。 効果: DimensionT の範囲を特定します。 戻り値: 0 ベースの TypeListT の DimensionT 位置で宣言された型の、指定された DimensionT の範囲。 |
|
要件: DimenstionT >=0 および DimensiontT < rank。 効果: このインスタンスの右端の DimensionT 値をコピーして、低いランクで n_extent_t を構築します。 戻り値: n_exent[get<rank - DimensionT>()] [get<rank + 1 - DimensionT>()] [get<…>()] [get<row_dimension>()] |
|
要件: a_other のランクはこのインスタンスのランクと同じ。 効果: 各次元のサイズが等しいか比較します。各次元の型ではなく、数値のみ比較されます。 戻り値: すべての次元の数値が等しい場合は true、そうでない場合は false。 |
|
要件: a_other のランクはこのインスタンスのランクと同じ。 効果: 各次元のサイズが等しくないか比較します。 各次元の型ではなく、数値のみ比較されます。 戻り値: 次元の数値が異なる場合は true、そうでない場合は false。 |
|
戻り値: 範囲によって指定された要素の数。 効果: 各次元の現在の範囲の値を掛け合わせてセルの数を計算します。 戻り値: get<0>()*get<1>()*get<…>()*get<rank-1>() |
次の表は、n_extent_t の friend 関数の情報です。
friend 関数 |
説明 |
---|---|
|
効果: a_extents の値の文字列表現を a_output_stream に追加します。 戻り値: チェーン呼び出しの a_output_stream への参照。 |