std::ranges::lazy_split_view<V, Pattern>::outer_iterator<Const>::value_type
来自cppreference.com
< cpp | ranges | lazy split view
struct value_type : ranges::view_interface<value_type> | (C++20 起) | |
迭代器 ranges::lazy_split_view<V, Pattern>::outer_iterator
<Const> 的值类型。
数据成员
成员 | 描述 |
outer_iterator i_ (私有) | 指向外层类的底层 view 的迭代器(仅用于阐述的成员对象*) |
成员函数
(构造函数) | 构造 value_type 对象(仅用于阐述的成员函数*) |
begin | 返回指向内层范围起始的 inner_iterator (公开成员函数) |
end | 返回 std::default_sentinel (公开成员函数) |
继承自 std::ranges::view_interface | |
返回视图是否为空,仅当视图满足 forward_range 时提供 ( std::ranges::view_interface<D> 的公开成员函数) | |
(C++23) | 返回指向范围起始的常量迭代器 ( std::ranges::view_interface<D> 的公开成员函数) |
(C++23) | 返回对应于范围常量迭代器的哨位 ( std::ranges::view_interface<D> 的公开成员函数) |
返回派生视图是否为非空,仅当 ranges::empty 可应用于它时提供 ( std::ranges::view_interface<D> 的公开成员函数) | |
返回派生视图中的首元素,仅当视图满足 forward_range 时提供 ( std::ranges::view_interface<D> 的公开成员函数) |
成员函数
std::ranges::lazy_split_view::outer_iterator::value_type::value_type
constexpr explicit value_type(/*outer_iterator*/ i); // 仅用于阐述 | (C++20 起) | |
以 std::move(i) 初始化 i_
。
std::ranges::lazy_split_view::outer_iterator::value_type::begin
constexpr /*inner_iterator*/<Const> begin() const; | (C++20 起) | |
等价于 return /*inner_iterator*/<Const>{i_
};。
std::ranges::lazy_split_view::outer_iterator::value_type::end
constexpr std::default_sentinel_t end() const noexcept; | (C++20 起) | |
返回 std::default_sentinel。
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 3593 | C++20 | end 不是 noexcept 的 | 是 noexcept 的 |
LWG 4013 | C++20 | value_type 可默认初始化 | 不可默认初始化 |