Iterator concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator primitives | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Algorithm concepts and utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Indirect callable concepts | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Common algorithm requirements | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Utilities | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Iterator adaptors | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Member functions | ||||
Non-member functions | ||||
operator<operator<=operator>operator>= (C++23)(C++23)(C++23)(C++23) | ||||
(C++23) | ||||
(C++23) | ||||
Helper classes | ||||
template</*not-a-const-iterator*/ I> friendconstexprbool operator<(const I& x,const basic_const_iterator& y) | (1) | (since C++23) |
template</*not-a-const-iterator*/ I> friendconstexprbool operator>(const I& x,const basic_const_iterator& y) | (2) | (since C++23) |
template</*not-a-const-iterator*/ I> friendconstexprbool operator<=(const I& x,const basic_const_iterator& y) | (3) | (since C++23) |
template</*not-a-const-iterator*/ I> friendconstexprbool operator>=(const I& x,const basic_const_iterator& y) | (4) | (since C++23) |
Compare abasic_const_iterator
with another value. These function templates are used when the left operand is not abasic_const_iterator
.
I satisfies the exposition-only concept/*not-a-const-iterator*/ if and only if it's not a specialization ofbasic_const_iterator
.
These functions are not visible to ordinaryunqualified orqualified lookup, and can only be found byargument-dependent lookup whenbasic_const_iterator<Iter> is an associated class of the arguments.
Contents |
x, y | - | iterators to compare |
If the left operand is abasic_const_iterator
, themember comparison functions are used.
#include <iterator> int main(){staticint arr[1];staticconstexprstd::basic_const_iterator<int*> it=std::end(arr); static_assert(arr< it);}
|