- ranges[meta header]
- std::ranges[meta namespace]
- as_const_view[meta class]
- function[meta id-type]
- cpp23[meta cpp]
as_const_view() requires default_initializable<V> = default; // (1)
constexpr explicit as_const_view(V base); // (2)- default_initializable[link /reference/concepts/default_initializable.md]
as_const_viewオブジェクトを構築する。
入力view(V)のオブジェクトをbase_というメンバに保持するとして
- (1) :
base_をデフォルト構築する - (2) :
base_をstd::move(base)で初期化する
#include <ranges>
#include <vector>
int main() {
using std::ranges::as_const_view;
std::vector<int> vec = {1, 2, 3, 4, 5};
// (1) デフォルト構築
as_const_view<std::views::all_t<std::vector<int>>> v1{};
// (2) viewを入力して構築
as_const_view v2{vec};
}- as_const_view[color ff0000]
- C++23
- Clang: ??
- GCC: 13.1
- Visual C++: 2022 Update 6