std::ranges::filter_view<V,Pred>::sentinel
来自 cppreference.cn
< cpp | ranges | filter view
class /*sentinel*/; |
(C++20 起) (仅作说明*) |
|
当底层 view
V
不满足 common_range
模型时,filter_view::end 的返回类型。
目录 |
[编辑] 数据成员
成员 | 定义 |
V end_ (私有) |
底层 view 的哨兵(仅用于阐释的成员对象*) |
[编辑] 成员函数
构造一个哨位 (公开成员函数) | |
返回底层哨兵 (公开成员函数) |
std::ranges::filter_view::sentinel::sentinel
/*sentinel*/() = default; |
(1) | (C++20 起) |
constexpr explicit /*sentinel*/( filter_view& parent ); |
(2) | (C++20 起) |
std::ranges::filter_view::sentinel::base
constexpr ranges::sentinel_t<V> base() const; |
(C++20 起) | |
等价于 return end_;。
[编辑] 非成员函数
(C++20) |
比较底层迭代器和底层哨兵 (函数) |
operator==(std::ranges::filter_view::iterator, std::ranges::filter_view::sentinel)
friend constexpr bool operator==( const /*iterator*/& x, const /*sentinel*/& y ); |
(C++20 起) | |
等价于 return x.current_ == y.end_;,其中 current_
是包装在 filter_view::iterator
中的底层迭代器。
!=
运算符由 operator==
合成。
此函数对于普通 非限定 或 限定查找 不可见,只有当 std::ranges::filter_view::sentinel
是参数的关联类时,才能通过 实参依赖查找 找到。