class template
std::layout_left_padded::mapping(C++26)
概要
layout_left_padded<S>::mapping<E>は、extents型の多次元配列サイズEをパラメータとして、パディングあり列優先(column major)レイアウトマッピングを表現するクラスである。
layout_left_padded<S>::mapping<E>はトリビアルコピー可能であり、regularのモデルである。
説明専用の仮想操作
動作説明用の仮想操作LEAST-MULTIPLE-AT-LEAST(x,y)を、次のように定義する。
x == 0のとき、y
- そうでなければ、
y以上で最小となるxの倍数
説明専用メンバ変数
layout_left_padded<S>::mappingクラステンプレートは、下記の説明専用メンバ変数を保持する。
stride-1 : index_type型の値static-padding-stride
extents_ : extents_type型の多次元配列サイズ情報
また下記の説明専用静的メンバ変数を保持する。
rank_ : size_t型の定数extents_type::rank()
first-static-extent : size_t型の定数extents_type::static_extent(0)
static-padding-stride : size_t型の下記定数
rank_が0または1のとき、値0
padding_valueまたはfirst-static-extentがdynamic_extentと等しいとき、dynamic_extent
- そうでなければ、
LEAST-MULTIPLE-AT-LEAST(padding_value, first-static-extent)
Extentsはextentsの特殊化であること。
rank_dynamic() == 0のとき、多次元インデクス空間Extents()のサイズがindex_type型で表現できること。
- 値
padding_valueがindex_type型で表現できること。
- 以下を満たすとき、
LEAST-MULTIPLE-AT-LEAST(padding_value, first-static-extent)が、size_t型およびindex_type型で表現できること。
- 以下を満たすとき、半開区間
[1, rank_)の全ての値kに対してLEAST-MULTIPLE-AT-LEAST(padding_value, ext.static_extent(0))と全てのext.static_extent(k)を乗じた結果が、size_t型およびindex_type型で表現できること。
メンバ関数
構築・破棄
| 名前 |
説明 |
対応バージョン |
(constructor) |
コンストラクタ |
C++26 |
(destructor) |
デストラクタ |
C++26 |
operator= |
コピー代入演算子 |
C++26 |
観測
静的メンバ関数
| 名前 |
説明 |
対応バージョン |
is_always_unique |
trueを返す |
C++26 |
is_always_exhaustive |
型のExhaustive特性を取得する |
C++26 |
is_always_strided |
trueを返す |
C++26 |
is_unique |
trueを返す |
C++26 |
is_strided |
trueを返す |
C++26 |
メンバ型
非メンバ(Hidden friends)関数
比較演算子
バージョン
言語
処理系
関連項目
参照