命名空间
变体
操作

operator==(ranges::take_while_view::sentinel)

来自 cppreference.cn
 
 
范围库
范围适配器
 
 
friend constexpr bool operator==( const ranges::iterator_t<Base>& x,
                                  const /*sentinel*/& y );
(since C++20)

take_while_view::/*sentinel*/ 与指向(可能带有 const 限定符的)视图 V 的迭代器进行比较。迭代器通常通过调用 take_while_view::begin 获得。

如果 xy 的底层哨位(即 y.base())相等,或者当谓词应用于 *x 时返回 false,则返回 true

此函数对于普通的非限定限定查找不可见,并且只能通过实参依赖查找take_while_view::sentinel<Const> 是实参的关联类时找到。

!= 运算符是从 operator== 合成 的。

[编辑] 参数

x - 要比较的迭代器
y - 要比较的哨位

[编辑] 返回值

y.end_ == x || !std::invoke(*y.pred_, *x),其中 end_ 表示存储的哨位,pred_ 表示指向谓词的存储指针。

[编辑] 示例