Skip to content

Commit 40ff587

Browse files
committed
mdspan/default_accessor: 概要(#1077)
1 parent 3fa6638 commit 40ff587

File tree

3 files changed

+56
-3
lines changed

3 files changed

+56
-3
lines changed

reference/mdspan.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
| 名前 | 説明 | 対応バージョン |
2828
|------|------|-------|
29-
| [`default_accessor`](mdspan/default_accessor.md.nolink) | デフォルト要素アクセサ (class template) | C++23 |
29+
| [`default_accessor`](mdspan/default_accessor.md) | デフォルト要素アクセサ (class template) | C++23 |
3030

3131

3232
## 多次元配列ビュー
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
# default_accessor
2+
* mdspan[meta header]
3+
* class template[meta id-type]
4+
* std[meta namespace]
5+
* cpp23[meta cpp]
6+
7+
```cpp
8+
namespace std {
9+
template<class ElementType>
10+
class default_accessor;
11+
}
12+
```
13+
14+
## 概要
15+
`default_accessor`は、多次元配列ビュー[`mdspan`](mdspan.md)の要素アクセスデフォルト動作を定義する。
16+
17+
`ElementType`は抽象クラス型もしくは配列型のいずれでもない完全型であること。
18+
19+
`default_accessor`はアクセサポリシー要件を満たす。
20+
また`default_accessor`は[トリビアルコピー可能](/reference/type_traits/is_trivially_copyable.md)であり、[`semiregular`](/reference/concepts/semiregular.md)のモデルである。
21+
22+
## メンバ関数
23+
24+
| 名前 | 説明 | 対応バージョン |
25+
|------|------|----------------|
26+
| [`(constructor)`](default_accessor/op_constructor.md.nolink) | コンストラクタ | C++23 |
27+
| `(destructor)` | デストラクタ | C++23 |
28+
| [`access`](default_accessor/access.md.nolink) | 指定オフセット位置にある要素へアクセスする | C++23 |
29+
| [`offset`](default_accessor/offset.md.nolink) | 指定オフセット位置のハンドルを取得する | C++23 |
30+
31+
32+
## メンバ型
33+
34+
| 名前 | 説明 | 対応バージョン |
35+
|------|------|----------------|
36+
| `offset_policy` | `default_accessor` | C++23 |
37+
| `element_type` | `ElementType` | C++23 |
38+
| `reference` | `ElementType&` | C++23 |
39+
| `data_handle_type` | `ElementType*` | C++23 |
40+
41+
42+
## バージョン
43+
### 言語
44+
- C++23
45+
46+
47+
## 関連項目
48+
- [`mdspan`](mdspan.md)
49+
50+
51+
## 参照
52+
- [P0009R18 MDSPAN](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p0009r18.html)
53+
- [Reddit - Why is mdspan::offset_policy needed?](https://www.reddit.com/r/cpp/comments/cgc37m/why_is_mdspanoffset_policy_needed/)

reference/mdspan/mdspan.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ namespace std {
1414
}
1515
```
1616
* layout_right[link layout_right.md.nolink]
17-
* default_accessor[link default_accessor.md.nolink]
17+
* default_accessor[link default_accessor.md]
1818
1919
## 概要
2020
`mdspan`は、任意のメモリブロックに対して多次元配列のようにアクセスする機能を提供するクラスである。
@@ -23,7 +23,7 @@ namespace std {
2323
2424
- [`is_nothrow_move_constructible_v`](/reference/type_traits/is_nothrow_move_constructible.md)`<MDS>`が`true`、かつ
2525
- [`is_nothrow_move_assignable_v`](/reference/type_traits/is_nothrow_move_assignable.md)`<MDS>`が`true`、かつ
26-
- [`is_nothrow_swappable_v`](/reference/type_traits/is_nothrow_swappable.md)`<MDS>`が1`true`となる。
26+
- [`is_nothrow_swappable_v`](/reference/type_traits/is_nothrow_swappable.md)`<MDS>``true`となる。
2727
2828
そのメンバ型`accessor_type`, `mapping_type`, `pointer`が[トリビアルコピー可能](/reference/type_traits/is_trivially_copyable.md)であるとき、`mdspan`の特殊化もトリビアルコピー可能である。
2929

0 commit comments

Comments
 (0)