class template
std::layout_right_padded::mapping(C++26)
概要
layout_right_padded<S>::mapping<E>
は、extents
型の多次元配列サイズE
をパラメータとして、パディングあり行優先(row major)レイアウトマッピングを表現するクラスである。
layout_right_padded<S>::mapping<E>
はトリビアルコピー可能であり、regular
のモデルである。
説明専用の仮想操作
動作説明用の仮想操作LEAST-MULTIPLE-AT-LEAST(x,y)
を、次のように定義する。
x == 0
のとき、y
- そうでなければ、
y
以上で最小となるx
の倍数
説明専用メンバ変数
layout_right_padded<S>::mapping
クラステンプレートは、下記の説明専用メンバ変数を保持する。
stride-rm2
: index_type
型の値static-padding-stride
extents_
: extents_type
型の多次元配列サイズ情報
また下記の説明専用静的メンバ変数を保持する。
rank_
: size_t
型の定数extents_type::rank()
last-static-extent
: size_t
型の定数extents_type::static_extent(rank_ - 1)
static-padding-stride
: size_t
型の下記定数
rank_
が0
または1
のとき、値0
padding_value
またはlast-static-extent
がdynamic_extent
と等しいとき、dynamic_extent
- そうでなければ、
LEAST-MULTIPLE-AT-LEAST(padding_value, last-static-extent)
Extents
はextents
の特殊化であること。
rank_dynamic() == 0
のとき、多次元インデクス空間Extents()
のサイズがindex_type
型で表現できること。
- 値
padding_value
がindex_type
型で表現できること。
- 以下を満たすとき、
LEAST-MULTIPLE-AT-LEAST(padding_value, last-static-extent)
が、size_t
型およびindex_type
型で表現できること。
- 以下を満たすとき、半開区間
[1, rank_ - 1)
の全ての値k
に対してLEAST-MULTIPLE-AT-LEAST(padding_value, ext.static_extent(rank_ - 1))
と全ての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)関数
比較演算子
バージョン
言語
処理系
関連項目
参照