Namespaces
Variants

std::ranges::filter_view<V,Pred>:: sentinel

From cppreference.net
Ranges library
Range adaptors
class /*sentinel*/ ;
(自 C++20 起)
( 仅用于说明* )

当底层 view V 不满足 common_range 概念时, filter_view::end 的返回类型。

目录

数据成员

成员 定义
V end_ (私有) 底层 view 的哨兵
( 仅用于说明的成员对象* )

成员函数

构造哨兵
(公开成员函数)
返回底层哨兵
(公开成员函数)

std::ranges::filter_view:: sentinel :: sentinel

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

std::ranges::filter_view:: sentinel :: base

constexpr ranges:: sentinel_t < V > base ( ) const ;
(since 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 ) ;
(since C++20)

等价于 return x. current_ == y. end_ ; ,其中 current_ 是包装在 filter_view:: iterator 中的底层迭代器。

!= 运算符由 operator== 合成

此函数对普通的 非限定查找 限定查找 不可见,仅当 std::ranges::filter_view:: sentinel 是参数的关联类时,才能通过 实参依赖查找 找到。