Iterator functionality.
Modules | |
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 > | |
constexpr bool | ranges::operator!= (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) |
template<typename Cur , typename S > | |
constexpr bool | ranges::operator!= (basic_iterator< Cur > const &left, S const &right) |
template<typename I1 , typename I2 , typename S1 , typename S2 > | |
bool | ranges::operator!= (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) |
template<typename S , typename Cur > | |
constexpr bool | ranges::operator!= (S const &left, basic_iterator< Cur > const &right) |
template<typename Cur > | |
constexpr basic_iterator< Cur > | ranges::operator+ (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) |
template<typename Cur > | |
constexpr basic_iterator< Cur > | ranges::operator+ (typename basic_iterator< Cur >::difference_type n, basic_iterator< Cur > right) |
template<typename Cur , typename S > | |
constexpr basic_iterator< Cur >::difference_type | ranges::operator- (basic_iterator< Cur > const &left, S const &right) |
template<typename Cur > | |
constexpr basic_iterator< Cur > | ranges::operator- (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) |
template<typename Cur2 , typename 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 > | |
iter_difference_t< I2 > | ranges::operator- (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) |
template<typename S , typename Cur > | |
constexpr basic_iterator< Cur >::difference_type | ranges::operator- (S const &left, basic_iterator< Cur > const &right) |
template<typename Left , typename Right > | |
constexpr bool | ranges::operator< (basic_iterator< Left > const &left, basic_iterator< Right > const &right) |
template<typename Left , typename Right > | |
constexpr bool | ranges::operator<= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) |
template<typename Cur , typename Cur2 > | |
constexpr bool | ranges::operator== (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) |
template<typename Cur , typename S > | |
constexpr bool | ranges::operator== (basic_iterator< Cur > const &left, S const &right) |
template<typename I1 , typename I2 , typename S1 , typename S2 > | |
bool | ranges::operator== (common_iterator< I1, S1 > const &x, common_iterator< I2, S2 > const &y) |
template<typename S , typename Cur > | |
constexpr bool | ranges::operator== (S const &left, basic_iterator< Cur > const &right) |
template<typename Left , typename Right > | |
constexpr bool | ranges::operator> (basic_iterator< Left > const &left, basic_iterator< Right > const &right) |
template<typename Left , typename Right > | |
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 {} |
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<Cur2, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<S, Cur>
bool ranges::operator!= | ( | common_iterator< I1, S1 > const & | x, |
common_iterator< I2, S2 > const & | y | ||
) |
#include <range/v3/iterator/common_iterator.hpp>
sentinel_for<S1, I2> && sentinel_for<S2, I1>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<S, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::random_access_cursor<Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::random_access_cursor<Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<S, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::random_access_cursor<Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<Cur2, Cur>
iter_difference_t<I2> ranges::operator- | ( | common_iterator< I1, S1 > const & | x, |
common_iterator< I2, S2 > const & | y | ||
) |
#include <range/v3/iterator/common_iterator.hpp>
sized_sentinel_for<I1, I2> && sized_sentinel_for<S1, I2> && sized_sentinel_for<S2, I1>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<S, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<Right, Left>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<Right, Left>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<Cur2, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<S, Cur>
bool ranges::operator== | ( | common_iterator< I1, S1 > const & | x, |
common_iterator< I2, S2 > const & | y | ||
) |
#include <range/v3/iterator/common_iterator.hpp>
sentinel_for<S1, I2> && sentinel_for<S2, I1> && (!equality_comparable_with<I1, I2>)
//sentinel_for<S1, I2> && sentinel_for<S2, I1> && equality_comparable_with<I1, I2>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sentinel_for_cursor<S, Cur>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<Right, Left>
|
constexpr |
#include <range/v3/iterator/basic_iterator.hpp>
detail::sized_sentinel_for_cursor<Right, Left>
|
constexpr |
#include <range/v3/iterator/operations.hpp>
advance_fn
|
constexpr |
#include <range/v3/iterator/insert_iterators.hpp>
back_inserter_fn
|
constexpr |
#include <range/v3/iterator/operations.hpp>
distance_fn
Referenced by ranges::ends_with(), and ranges::sample().
|
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/access.hpp>
>iter_swap::fn
Referenced by ranges::next_permutation(), ranges::partial_sort(), and ranges::prev_permutation().
|
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::ends_with(), ranges::is_permutation(), and ranges::sort().
|
constexpr |
#include <range/v3/iterator/operations.hpp>
prev_fn