概要
LayoutMappingPolicyは、多次元配列ビューmdspan
において多次元インデクスから参照先メモリブロック位置へと変換するレイアウトマッピングを定めるクラスが満たすべき要件である。
LayoutMappingPolicyを満たすユーザ定義layout_custom
ポリシークラスは、下記の構造で定義される。
// レイアウトマッピングポリシー
struct layout_custom {
// レイアウトマッピング
template<class Extents>
class mapping {
public:
using layout_type = layout_custom;
using extent_type = Extents;
// ...
};
};
要件
LayoutMappingPolicyを満たす型MP
は
extents
の特殊化E
に対してMP::mapping<E>
が有効であり、かつ- その型
X
がレイアウトマッピング要件を満たし、かつ - メンバ型
X::layout_type
が型MP
を表しており、かつ - メンバ型
X::extent_type
が型E
を表すこと。
LayoutMappingPolicy
に該当する型
layout_left
layout_right
layout_stride
layout_left_padded<S>
layout_right_padded<S>
linalg::layout_blas_packed<T,SO>
バージョン
言語
- C++23