File tree Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Expand file tree Collapse file tree 3 files changed +26
-0
lines changed Original file line number Diff line number Diff line change 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]
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]
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]
Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change 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)
You can’t perform that action at this time.
0 commit comments