std::ranges::lazy_split_view<V, Pattern>::outer_iterator<Const>::value_type
来自 cppreference.cn
< cpp | ranges | lazy split view
struct value_type : ranges::view_interface<value_type> |
(since 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 | |
返回导出的视图是否为空,仅当它满足 sized_range 或 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); // exposition only |
(since C++20) | |
用 std::move(i) 初始化 i_
。
std::ranges::lazy_split_view::outer_iterator::value_type::begin
constexpr /*inner_iterator*/<Const> begin() const; |
(since 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; |
(since C++20) | |
[编辑] 缺陷报告
以下行为变更缺陷报告被追溯应用到之前发布的 C++ 标准。
DR | 应用于 | 发布时的行为 | 正确的行为 |
---|---|---|---|
LWG 3593 | C++20 | end 不为 noexcept |
设为 noexcept |
LWG 4013 | C++20 | value_type 为默认可初始化 |
非默认可初始化 |