operator==(std::ranges::take_view::sentinel<Const>)
friend constexpr bool operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y, |
(1) | (C++20 起) |
template< bool OtherC = !Const > requires std::sentinel_for<ranges::sentinel_t<Base>, |
(2) | (C++20 起) |
将 take_view::/*sentinel*/ 与 std::counted_iterator (常通过调用 take_view::begin 获得)比较。
若 y
指向第 N 元素(其中 N 为传递给 take_view
的构造函数的数)后一位置,或抵达了底层视图末尾则为 true 。
仅用于阐释的别名模板 add-const-if
定义为 template<bool C, class T> using /*add-const-if*/ = std::conditional_t<C, const T, T>; 。
这些函数对通常无限定或有限定查找不可见,而只能在 std::ranges::take_view::sentinel<Const>
为参数的关联类时由实参依赖查找找到。
!=
运算符从 ==
运算符合成。
参数
y | - | 要比较的 std::counted_iterator |
x | - | 要比较的哨位 |
返回值
y.count() == 0 || y.base() == x.end_ ,其中 end_
代表底层哨位。
示例
本节未完成 原因:暂无示例 |
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 3449 | C++20 | 不支持相异 const 限定的 take_view 的迭代器与哨位间的比较
|
使得在可能时支持 |