Iterator functionality. More...
| Modules | |
| Iterator Concepts | |
| Iterator concepts. | |
| Typedefs | |
| template<typename I > | |
| using | ranges::iter_common_reference_t = common_reference_t< iter_reference_t< I >, iter_value_t< I > & > | 
| template<typename T > | |
| using | ranges::iter_difference_t = typename incrementable_traits< uncvref_t< T > >::difference_type | 
| template<typename R > | |
| using | ranges::iter_reference_t = detail::iter_reference_t_< R > | 
| template<typename I > | |
| using | ranges::iter_rvalue_reference_t = detail::iter_rvalue_reference_t< I > | 
| template<typename R > | |
| using | ranges::iter_value_t = detail::iter_value_t_< uncvref_t< R > > | 
| Functions | |
| template<typename Cur , typename Cur2 > requires detail::sentinel_for_cursor<Cur2, Cur> | |
| constexpr bool | ranges::operator!= (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) | 
| template<typename Cur , typename S > requires detail::sentinel_for_cursor<S, Cur> | |
| constexpr bool | ranges::operator!= (basic_iterator< Cur > const &left, S const &right) | 
| template<typename I1 , typename I2 , typename S1 , typename S2 > requires sentinel_for<S1, I2> && sentinel_for<S2, I1> | |
| bool | ranges::operator!= (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) | 
| template<typename S , typename Cur > requires detail::sentinel_for_cursor<S, Cur> | |
| constexpr bool | ranges::operator!= (S const &left, basic_iterator< Cur > const &right) | 
| template<typename Cur > requires detail::random_access_cursor<Cur> | |
| constexpr basic_iterator< Cur > | ranges::operator+ (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) | 
| template<typename Cur > requires detail::random_access_cursor<Cur> | |
| constexpr basic_iterator< Cur > | ranges::operator+ (typename basic_iterator< Cur >::difference_type n, basic_iterator< Cur > right) | 
| template<typename Cur , typename S > requires detail::sized_sentinel_for_cursor<S, Cur> | |
| constexpr basic_iterator< Cur >::difference_type | ranges::operator- (basic_iterator< Cur > const &left, S const &right) | 
| template<typename Cur > requires detail::random_access_cursor<Cur> | |
| constexpr basic_iterator< Cur > | ranges::operator- (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) | 
| template<typename Cur2 , typename Cur > requires detail::sized_sentinel_for_cursor<Cur2, Cur> | |
| constexpr basic_iterator< Cur >::difference_type | ranges::operator- (basic_iterator< Cur2 > const &left, basic_iterator< Cur > const &right) | 
| template<typename I1 , typename I2 , typename S1 , typename S2 > requires sized_sentinel_for<I1, I2> && sized_sentinel_for<S1, I2> && sized_sentinel_for<S2, I1> | |
| iter_difference_t< I2 > | ranges::operator- (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) | 
| template<typename S , typename Cur > requires detail::sized_sentinel_for_cursor<S, Cur> | |
| constexpr basic_iterator< Cur >::difference_type | ranges::operator- (S const &left, basic_iterator< Cur > const &right) | 
| template<typename Left , typename Right > requires detail::sized_sentinel_for_cursor<Right, Left> | |
| constexpr bool | ranges::operator< (basic_iterator< Left > const &left, basic_iterator< Right > const &right) | 
| template<typename Left , typename Right > requires detail::sized_sentinel_for_cursor<Right, Left> | |
| constexpr bool | ranges::operator<= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) | 
| template<typename Cur , typename Cur2 > requires detail::sentinel_for_cursor<Cur2, Cur> | |
| constexpr bool | ranges::operator== (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) | 
| template<typename Cur , typename S > requires detail::sentinel_for_cursor<S, Cur> | |
| constexpr bool | ranges::operator== (basic_iterator< Cur > const &left, S const &right) | 
| template<typename I1 , typename I2 , typename S1 , typename S2 > requires sentinel_for<S1, I2> && sentinel_for<S2, I1> && (!equality_comparable_with<I1, I2>) | |
| bool | ranges::operator== (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) | 
| template<typename S , typename Cur > requires detail::sentinel_for_cursor<S, Cur> | |
| constexpr bool | ranges::operator== (S const &left, basic_iterator< Cur > const &right) | 
| template<typename Left , typename Right > requires detail::sized_sentinel_for_cursor<Right, Left> | |
| constexpr bool | ranges::operator> (basic_iterator< Left > const &left, basic_iterator< Right > const &right) | 
| template<typename Left , typename Right > requires detail::sized_sentinel_for_cursor<Right, Left> | |
| constexpr bool | ranges::operator>= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) | 
| Variables | |
| constexpr advance_fn | ranges::advance {} | 
| constexpr back_inserter_fn | ranges::back_inserter {} | 
| constexpr default_sentinel_t | ranges::default_sentinel {} | 
| constexpr distance_fn | ranges::distance {} | 
| constexpr distance_compare_fn | ranges::distance_compare {} | 
| constexpr enumerate_fn | ranges::enumerate {} | 
| constexpr front_inserter_fn | ranges::front_inserter {} | 
| constexpr get_cursor_fn | ranges::get_cursor {} | 
| constexpr inserter_fn | ranges::inserter {} | 
| template<typename I , typename O > | |
| constexpr bool | ranges::is_indirectly_movable_v | 
| template<typename T , typename U > | |
| constexpr bool | ranges::is_indirectly_swappable_v | 
| template<typename I , typename O > | |
| constexpr bool | ranges::is_nothrow_indirectly_movable_v | 
| template<typename T , typename U > | |
| constexpr bool | ranges::is_nothrow_indirectly_swappable_v | 
| constexpr iter_distance_fn | ranges::iter_distance {} | 
| constexpr iter_distance_compare_fn | ranges::iter_distance_compare {} | 
| constexpr iter_enumerate_fn | ranges::iter_enumerate {} | 
| constexpr _iter_move_::fn | ranges::iter_move {} | 
| constexpr iter_size_fn | ranges::iter_size {} | 
| constexpr _iter_swap_::fn | iter_swap {} | 
| constexpr make_move_iterator_fn | ranges::make_move_iterator {} | 
| constexpr make_move_sentinel_fn | ranges::make_move_sentinel {} | 
| constexpr make_ostream_joiner_fn | ranges::make_ostream_joiner {} | 
| constexpr make_reverse_iterator_fn | ranges::make_reverse_iterator {} | 
| constexpr move_into_fn | ranges::move_into {} | 
| constexpr next_fn | ranges::next {} | 
| constexpr prev_fn | ranges::prev {} | 
| constexpr adl_uncounted_recounted_detail::recounted_fn | ranges::recounted {} | 
| constexpr adl_uncounted_recounted_detail::uncounted_fn | ranges::uncounted {} | 
| constexpr unreachable_sentinel_t | ranges::unreachable {} | 
Iterator functionality.
| 
 | constexpr | 
| 
 | constexpr | 
#include <range/v3/iterator/insert_iterators.hpp>
back_inserter_fn | 
 | constexpr | 
| 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
distance_compare_fn | 
 | related | 
#include <range/v3/iterator/operations.hpp>
enumerate_fn | 
 | constexpr | 
#include <range/v3/iterator/insert_iterators.hpp>
front_inserter_fn | 
 | constexpr | 
#include <range/v3/iterator/basic_iterator.hpp>
get_cursor_fn | 
 | constexpr | 
#include <range/v3/iterator/insert_iterators.hpp>
inserter_fn | 
 | constexpr | 
#include <range/v3/iterator/access.hpp>
| 
 | constexpr | 
#include <range/v3/iterator/access.hpp>
| 
 | constexpr | 
#include <range/v3/iterator/access.hpp>
| 
 | constexpr | 
#include <range/v3/iterator/access.hpp>
| 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
iter_distance_fn | 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
iter_distance_compare_fn | 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
iter_enumerate_fn | 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
iter_size_fn | 
 | constexpr | 
#include <range/v3/iterator/stream_iterators.hpp>
make_ostream_joiner_fn | 
 | constexpr | 
#include <range/v3/iterator/move_iterators.hpp>
move_into_fn | 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
next_fn Referenced by ranges::copy_backward(), ranges::move_backward(), ranges::reverse(), ranges::reverse_copy(), ranges::rotate(), and ranges::sample().
| 
 | constexpr | 
#include <range/v3/iterator/operations.hpp>
prev_fn