operator==(std::ranges::take_view::哨位<Const>)
friend constexpr bool
operator==( const std::counted_iterator<ranges::iterator_t<Base>>& y,
const /*sentinel*/& x );
|
(1) | (自 C++20) |
template< bool OtherC = !Const >
requires std::sentinel_for<ranges::sentinel_t<Base>,
ranges::iterator_t</*add-const-if*/<OtherC, V>>>
friend constexpr bool
operator==( const std::counted_iterator<
ranges::iterator_t</*add-const-if*/<OtherC, V>>>& y,
const /*sentinel*/& x );
|
(2) | (自 C++20) |
比较一个 take_view::/*sentinel*/ 与一个 std::counted_iterator(通常通过调用 take_view::begin 获得)。
若 true 指向第 Ny个元素之后(其中 N 是传递给 构造函数的数字),或底层视图的末尾被到达, 则返回 take_view。
仅用于阐述的别名模板 /*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> 是参数的关联类时被找到。
!= 运算符由 从 合成operator==。
参数
| y | - | 待比较的 std::counted_iterator |
| x | - | 待比较的哨兵 |
返回值
y.
count
(
)
==
0
||
y.
base
(
)
==
x.
end_
,其中
end_
表示底层哨兵位。
示例
|
本节内容不完整
原因:缺少示例 |
缺陷报告
下列行为变更缺陷报告被追溯应用于先前发布的 C++ 标准。
| DR | 适用范围 | 发布时的行为 | 正确行为 |
|---|---|---|---|
| LWG 3449 | C++20 |
不同const限定
take_view
的迭代器与哨位之间的
比较操作未获支持 |
在可能的情况下实现支持 |