std::ranges::filter_view<V,Pred>::sentinel
来自 cppreference.com
< cpp | ranges | filter view
class /*sentinel*/; |
(自 C++20 起) (仅供说明*) |
|
当底层 view
类型 (V
) 不建模 common_range
时,filter_view::end 的返回类型。
内容 |
[编辑] 数据成员
成员名称 | 定义 |
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
是参数的关联类时找到。