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