Skip to content

Commit 0059bf7

Browse files
committed
maybe-constの解説を追加
1 parent d3eeb80 commit 0059bf7

File tree

3 files changed

+26
-0
lines changed

3 files changed

+26
-0
lines changed

GLOBAL_QUALIFY_LIST.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@
7777
* <complex>[link /reference/complex.md]
7878
* <concepts>[link /reference/concepts.md]
7979
* common_reference_with[link /reference/concepts/common_reference_with.md]
80+
* common_type_t[link /reference/concepts/common_type.md]
8081
* common_with[link /reference/concepts/common_with.md]
8182
* copy_constructible[link /reference/concepts/copy_constructible.md]
8283
* invocable[link /reference/concepts/invocable.md]
@@ -198,6 +199,7 @@
198199
* forward_range[link /reference/ranges/forward_range.md]
199200
* input_range[link /reference/ranges/input_range.md]
200201
* iterator_t[link /reference/ranges/iterator_t.md]
202+
* maybe-const[link /reference/ranges/maybe-const.md]
201203
* output_range[link /reference/ranges/output_range.md]
202204
* random_access_range[link /reference/ranges/random_access_range.md]
203205
* range_difference_t[link /reference/ranges/range_difference_t.md]
@@ -262,6 +264,7 @@
262264
* std::tuple[link /reference/tuple/tuple.md]
263265
* std::tie[link /reference/tuple/tie.md]
264266
* <type_traits>[link /reference/type_traits.md]
267+
* common_reference_t[link /reference/type_traits/common_reference.md]
265268
* invoke_result_t[link /reference/type_traits/invoke_result.md]
266269
* is_class_v[link /reference/type_traits/is_class.md]
267270
* is_object_v[link /reference/type_traits/is_object.md]

reference/exposition-only.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@
4848
| [`uses-nonqualification-pointer-conversion`](ranges/subrange/uses-nonqualification-pointer-conversion.md) | 直接変換できない型同士のポインタの変換が必要かどうかを表す (concept) | C++20 |
4949
| [`convertible-to-non-slicing`](ranges/subrange/convertible-to-non-slicing.md) | スライシングを起こさずに変換できるかどうかを表す (concept) | C++20 |
5050
| [`pair-like-convertible-from`](ranges/subrange/pair-like-convertible-from.md) | ある2つの型から構築出来る[`pair-like`](tuple/pair-like.md)な型を表す (concept) | C++20 |
51+
| [`maybe-const`](ranges/maybe-const.md) | bool値に応じて`const`修飾を付加する (alias template) | C++23 |
5152

5253
## `<tuple>`
5354

reference/ranges/maybe-const.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
# maybe-const
2+
* ranges[meta header]
3+
* type-alias[meta id-type]
4+
* cpp23[meta cpp]
5+
6+
```cpp
7+
namespace std::ranges {
8+
template<bool Const, class T>
9+
using maybe-const = conditional_t<Const, const T, T>;
10+
}
11+
```
12+
13+
## 概要
14+
15+
`maybe-const<Const, T>` は、bool値`Const`が`true`のとき `const T`、`false`のとき`T`となる説明専用の型エイリアスである。
16+
17+
## バージョン
18+
### 言語
19+
- C++23
20+
21+
## 参照
22+
- [N4950 26 Ranges library](https://timsong-cpp.github.io/cppwp/n4950/ranges)

0 commit comments

Comments
 (0)