概要
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に該当する型
<mdspan>ヘッダ- C++23
layout_left - C++23
layout_right - C++23
layout_stride - C++26
layout_left_padded<S> - C++26
layout_right_padded<S>
- C++23
<linalg>ヘッダ- C++26
layout_blas_packed<T,SO>
- C++26
バージョン
言語
- C++23