friend constexpr std::iter_difference_t<I> operator-( const counted_iterator& x, std::default_sentinel_t ); | (1) | (since C++20) |
friend constexpr std::iter_difference_t<I> operator-( std::default_sentinel_t, const counted_iterator& y ); | (2) | (since C++20) |
This function template is not visible to ordinary unqualified or qualified lookup, and can only be found by argument-dependent lookup when std::counted_iterator<I> is an associated class of the arguments.
| x, y | - | iterator adaptors to compute the difference of |
-x.count().y.count().#include <initializer_list>
#include <iterator>
int main()
{
constexpr static auto v = {1, 2, 3, 4};
constexpr std::counted_iterator<std::initializer_list<int>::iterator>
it {v.begin(), 3};
constexpr auto d1 = it - std::default_sentinel;
static_assert( d1 == -3 ); // (1)
constexpr auto d2 = std::default_sentinel - it;
static_assert( d2 == +3 ); // (2)
}|
(C++20) | advances or decrements the iterator (public member function) |
|
(C++20) | advances the iterator (function template) |
|
(C++20) | computes the distance between two iterator adaptors (function template) |
|
(C++20) | default sentinel for use with iterators that know the bound of their range (class) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/iterator/counted_iterator/operator-2