Skip to content

Commit a4199a4

Browse files
committed
empty_view : enable_borrowed_rangeを追加 #713
1 parent 58911a3 commit a4199a4

File tree

2 files changed

+57
-1
lines changed

2 files changed

+57
-1
lines changed

reference/ranges/empty_view.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ namespace std::ranges {
5858
5959
| 名前 | 説明 | 対応バージョン |
6060
|-------------------------------------------------------|------------------------------|----------------|
61-
| [`enable_borrowed_range`](empty_view/enable_borrowed_range.md.nolink) | `enable_borrowed_range`の特殊化 (variable template) | C++20 |
61+
| [`enable_borrowed_range`](empty_view/enable_borrowed_range.md) | `enable_borrowed_range`の特殊化 (variable template) | C++20 |
6262
6363
## 例
6464
```cpp example
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# enable_borrowed_range
2+
* ranges[meta header]
3+
* std::ranges[meta namespace]
4+
* empty_view[meta class]
5+
* variable template[meta id-type]
6+
* cpp20[meta cpp]
7+
8+
```cpp
9+
namespace std::ranges {
10+
template<class T>
11+
inline constexpr bool enable_borrowed_range<empty_view<T>> = true;
12+
}
13+
```
14+
15+
## 概要
16+
17+
`empty_view`に対する[`enable_borrowed_range`](../enable_borrowed_range.md)の特殊化。
18+
19+
`empty_view`は常に空であり、要素への参照を返すことがないため、安全に借用可能である。
20+
21+
## 備考
22+
23+
この特殊化により、`empty_view`は[`borrowed_range`](../borrowed_range.md)コンセプトを満たすようになる。
24+
25+
## 例
26+
```cpp example
27+
#include <ranges>
28+
#include <type_traits>
29+
30+
int main() {
31+
// empty_viewはborrowed_rangeである
32+
static_assert(std::ranges::borrowed_range<std::ranges::empty_view<int>>);
33+
34+
// enable_borrowed_rangeがtrueに設定されている
35+
static_assert(std::ranges::enable_borrowed_range<std::ranges::empty_view<int>>);
36+
}
37+
```
38+
* std::ranges::borrowed_range[link ../borrowed_range.md]
39+
* std::ranges::enable_borrowed_range[link ../enable_borrowed_range.md]
40+
41+
### 出力
42+
```
43+
```
44+
45+
## バージョン
46+
### 言語
47+
- C++20
48+
49+
### 処理系
50+
- [Clang](/implementation.md#clang): 13.0.0 [mark verified]
51+
- [GCC](/implementation.md#gcc): 10.1.0 [mark verified]
52+
- [ICC](/implementation.md#icc): ?
53+
- [Visual C++](/implementation.md#visual_cpp): 2019 Update 10 [mark verified]
54+
55+
## 参照
56+
- [N4861 24.7.8 Empty view](https://timsong-cpp.github.io/cppwp/n4861/range.empty)

0 commit comments

Comments
 (0)