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>
是引數的關聯類時,才能透過實參依賴查詢找到它們。
!=
運算子由 operator==
合成。
目錄 |
[編輯] 引數
y | - | 要比較的 std::counted_iterator |
x | - | 要比較的哨兵 |
[編輯] 返回值
y.count() == 0 || y.base() == x.end_,其中 end_
表示底層哨兵。
[編輯] 示例
本節不完整 原因:無示例 |
[編輯] 缺陷報告
下列更改行為的缺陷報告追溯地應用於以前出版的 C++ 標準。
缺陷報告 | 應用於 | 釋出時的行為 | 正確的行為 |
---|---|---|---|
LWG 3449 | C++20 | 迭代器與哨兵的比較 不同 const-qualified 的 take_view 不受支援 |
在可能的情況下予以支援 |