|
constexpr | counted_iterator ()=default |
|
constexpr | counted_iterator (I x, iter_difference_t< I > n) |
|
template<typename I2 , std::enable_if_t< convertible_to< const I2 &, I >::value, int > = 0> |
constexpr | counted_iterator (const counted_iterator< I2 > &other) |
|
template<typename I2 , std::enable_if_t< assignable_from< I &, const I2 & >::value, int > = 0> |
constexpr counted_iterator & | operator= (const counted_iterator< I2 > &other) |
|
constexpr const I & | base () const &noexcept |
|
constexpr I | base () && |
|
constexpr difference_type | count () const noexcept |
|
constexpr decltype(auto) | operator* () |
|
template<typename I2 = I, std::enable_if_t< dereferenceable< const I2 >::value, int > = 0> |
constexpr decltype(auto) | operator* () const |
|
template<typename I2 = I, std::enable_if_t< contiguous_iterator< I2 >::value, int > = 0> |
constexpr auto | operator-> () const noexcept |
|
template<typename I2 = I, std::enable_if_t< random_access_iterator< I2 >::value, int > = 0> |
constexpr decltype(auto) | operator[] (iter_difference_t< I > n) const |
|
constexpr counted_iterator & | operator++ () |
|
template<typename I2 = I, std::enable_if_t< forward_iterator< I2 >::value==false, int > = 0> |
decltype(auto) VCCC_CONSTEXPR_AFTER_CXX20 | operator++ (int) |
|
template<typename I2 = I, std::enable_if_t< forward_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator | operator++ (int) |
|
template<typename I2 = I, std::enable_if_t< bidirectional_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator & | operator-- () |
|
template<typename I2 = I, std::enable_if_t< bidirectional_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator | operator-- (int) |
|
template<typename I2 = I, std::enable_if_t< random_access_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator | operator+ (iter_difference_t< I > n) const |
|
template<typename I2 = I, std::enable_if_t< random_access_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator & | operator+= (iter_difference_t< I > n) |
|
template<typename I2 = I, std::enable_if_t< random_access_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator | operator- (iter_difference_t< I > n) const |
|
template<typename I2 = I, std::enable_if_t< random_access_iterator< I2 >::value, int > = 0> |
constexpr counted_iterator & | operator-= (iter_difference_t< I > n) |
|
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator== (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator< (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator!= (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator<= (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator> (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
template<typename I2 , std::enable_if_t< common_with< I, I2 >::value, int > = 0> |
constexpr friend bool | operator>= (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
constexpr friend bool | operator== (const counted_iterator &x, default_sentinel_t) |
|
constexpr friend bool | operator== (default_sentinel_t, const counted_iterator &x) |
|
constexpr friend bool | operator!= (const counted_iterator &x, default_sentinel_t) |
|
constexpr friend bool | operator!= (default_sentinel_t, const counted_iterator &x) |
|
template<typename I2 = I> |
constexpr friend std::enable_if_t< random_access_iterator< I2 >::value, counted_iterator > | operator+ (iter_difference_t< I > n, const counted_iterator &x) |
|
template<typename I2 > |
constexpr friend iter_difference_t< I2 > | operator- (const counted_iterator &x, const counted_iterator< I2 > &y) |
|
constexpr friend iter_difference_t< I > | operator- (const counted_iterator &x, default_sentinel_t) |
|
constexpr friend iter_difference_t< I > | operator- (default_sentinel_t, const counted_iterator &y) |
|
template<typename I2 = I, std::enable_if_t< input_iterator< I2 >::value, int > = 0> |
constexpr friend iter_rvalue_reference_t< I2 > | iter_move (const counted_iterator &i) noexcept(noexcept(ranges::iter_move(i.base()))) |
|
template<typename I2 , std::enable_if_t< indirectly_swappable< I2, I >::value, int > = 0> |
constexpr friend void | iter_swap (const counted_iterator &x, const counted_iterator< I2 > &y) noexcept(noexcept(ranges::iter_swap(x.base(), y.base()))) |
|