Skip to content

Commit

Permalink
as_const_view推論補助の追加 #1084
Browse files Browse the repository at this point in the history
  • Loading branch information
onihusube committed Sep 13, 2023
1 parent 82ef331 commit b950e12
Show file tree
Hide file tree
Showing 2 changed files with 64 additions and 1 deletion.
2 changes: 1 addition & 1 deletion reference/ranges/as_const_view.md
Expand Up @@ -67,7 +67,7 @@ namespace std::ranges {
| 名前 | 説明 | 対応バージョン |
|-------------------------------------------------------|------------------------------|----------------|
| [`(deduction_guide)`](as_const_view/op_deduction_guide.md.nolink) | クラステンプレートの推論補助 | C++23 |
| [`(deduction_guide)`](as_const_view/op_deduction_guide.md) | クラステンプレートの推論補助 | C++23 |
## 例
```cpp example
Expand Down
63 changes: 63 additions & 0 deletions reference/ranges/as_const_view/op_deduction_guide.md
@@ -0,0 +1,63 @@
# 推論補助
* ranges[meta header]
* std::ranges[meta namespace]
* function[meta id-type]
* cpp23[meta cpp]

```cpp
namespace std::ranges {
template<class R>
as_const_view(R&&) -> as_const_view<views::all_t<R>>;
}
```
* as_const_view[link ../as_const_view.md]
* all_t[link /reference/ranges/all.md]
## 概要
[`as_const_view`](../as_const_view.md)クラステンプレートの型推論補助。
## 例
```cpp example
#include <ranges>
#include <vector>
#include <concepts>
int main() {
std::vector<int> vec = {1, 2, 3, 4};
std::ranges::as_const_view v1{vec};
static_assert(std::same_as<
decltype(v1),
std::ranges::as_const_view<std::ranges::ref_view<std::vector<int>>>
>);
std::ranges::as_const_view v2{std::vector<int>{1, 2}};
static_assert(std::same_as<
decltype(v2),
std::ranges::as_const_view<std::ranges::owning_view<std::vector<int>>>
>);
}
```
* ref_view[link /reference/ranges/ref_view.md]
* owning_view[link /reference/ranges/owning_view.md]

### 出力
```
```

## バージョン
### 言語
- C++23

### 処理系
- [Clang](/implementation.md#clang): ??
- [GCC](/implementation.md#gcc): 13.1
- [Visual C++](/implementation.md#visual_cpp): 2022 Update 6

## 参照

- [P2278R4 `cbegin` should always return a constant iterator](https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2278r4.html)

0 comments on commit b950e12

Please sign in to comment.