命名空间
变体
操作

std::ranges::split_view<V,Pattern>::sentinel

来自 cppreference.com
< cpp‎ | ranges‎ | split view
 
 
范围库
范围适配器
 
 
class /*sentinel*/;
(自 C++20 起)
(仅供说明*)

当底层 view 类型 (V) 不建模 common_range 时,split_view::end 的返回类型。

内容

[编辑] 数据成员

成员名称 定义
end_ (私有) 类型为 ranges::sentinel_t<V> 的对象,它是底层 view 的哨兵。
(仅供说明的成员对象*)

[编辑] 成员函数

(构造函数)
(C++20)
构造哨兵
(公共成员函数)

std::ranges::split_view::sentinel::sentinel

/*sentinel*/() = default;
(1) (自 C++20 起)
constexpr explicit /*sentinel*/( ranges::split_view& parent );
(2) (自 C++20 起)
1) 通过其默认成员初始化器 (= ranges::sentinel_t<V>()) 对 end_ 进行值初始化。
2) 使用 ranges::end(parent.base_) 初始化 end_

[编辑] 非成员函数

operator==
(C++20)
比较底层迭代器和底层哨兵
(函数)

operator==(std::ranges::split_view::iterator, std::ranges::split_view::sentinel)

friend constexpr bool operator==( const /*iterator*/& x,
                                  const /*sentinel*/& y );
(自 C++20 起)

等效于 return x.cur_ == y.end_ and !x.trailing_empty_;.

!= 运算符从 operator== 合成

此函数对普通的 非限定限定查找 不可视,并且只有当 std::ranges::split_view::sentinel 是参数的关联类时,才能通过 依赖于参数的查找 找到。