概要
AccessorPolicyは、多次元配列ビューmdspanを介した要素アクセス動作を定義するクラスが満たすべき要件である。
要件
AccessorPolicyを満たす型Aは
Aはcopyableのモデルであり、かつis_nothrow_move_constructible_v<A>はtrueであり、かつis_nothrow_move_assignable_v<A>はtrueであり、かつis_nothrow_swappable_v<A>はtrueであること
型Aは下記のメンバ型を持つこと
A::element_type: 要素型A::data_handle_type: メモリブロックのポインタ型A::reference: 要素への参照型A::offset_policy:offset適用後のアクセサポリシー
説明用の変数aを(const) Aの値、pを(const) A::data_handle_typeの値、iをsize_tの値としたとき、下記の式が妥当であること
a.access(p, i):A::referenceを返すa.offset(p, i):A::offset_policy::data_handle_typeを返す
AccessorPolicyに該当する型
<mdspan>ヘッダ- C++23
default_accessor - C++26
aligned_accessor
- C++23
<linalg>ヘッダ- C++26
scaled_accessor - C++26
conjugated_accessor
- C++26
バージョン
言語
- C++23