operator<,<=,>,>=(std::basic_const_iterator<Iter>)
来自 cppreference.com
template< /*不是常量迭代器*/ I > friend constexpr bool operator<( const I& x, const basic_const_iterator& y ) |
(1) | (自 C++23 起) |
template< /*不是常量迭代器*/ I > friend constexpr bool operator>( const I& x, const basic_const_iterator& y ) |
(2) | (自 C++23 起) |
template< /*不是常量迭代器*/ I > friend constexpr bool operator<=( const I& x, const basic_const_iterator& y ) |
(3) | (自 C++23 起) |
template< /*不是常量迭代器*/ I > friend constexpr bool operator>=( const I& x, const basic_const_iterator& y ) |
(4) | (自 C++23 起) |
比较一个 basic_const_iterator
与另一个值。当左操作数不是 basic_const_iterator
时,使用这些函数模板。
I 满足仅用于说明的概念 /*不是常量迭代器*/ 当且仅当它不是 basic_const_iterator
的特化。
这些函数对普通的 非限定 或 限定查找不可见,并且只能通过 参数依赖查找 找到,当 basic_const_iterator<Iter> 是参数的关联类时。
内容 |
[编辑] 参数
x, y | - | 要比较的迭代器 |
[编辑] 返回值
1) x < y.base()
2) x > y.base()
3) x <= y.base()
4) x >= y.base()
[编辑] 注释
如果左操作数是 basic_const_iterator
,则使用 成员比较函数。
[编辑] 示例
运行此代码
#include <iterator> int main() { static int arr[1]; static constexpr std::basic_const_iterator<int*> it = std::end(arr); static_assert(arr < it); }
[编辑] 参见
|