- cpp23[meta cpp]
- mdspan[meta header]
- named requirement[meta id-type]
- [meta namespace]
AccsessorPolicyは、多次元配列ビューmdspanを介した要素アクセス動作を定義するクラスが満たすべき要件である。
AccsessorPolicyを満たす型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を返す
- C++23