Range-v3
Range algorithms, views, and actions for the Standard Library
basic_iterator.hpp File Reference

Classes

struct  ranges::basic_iterator< Cur >
 
struct  ranges::basic_mixin< T >
 
struct  ranges::get_cursor_fn
 Get a cursor from a basic_iterator. More...
 
struct  std::iterator_traits<::ranges::basic_iterator< Cur > >
 

Functions

template<typename Cur , typename Cur2 >
constexpr auto ranges::operator!= (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) -> bool requires detail::sentinel_for_cursor< Cur2, Cur >
 
template<typename Cur , typename S >
constexpr auto ranges::operator!= (basic_iterator< Cur > const &left, S const &right) -> bool requires detail::sentinel_for_cursor< S, Cur >
 
template<typename S , typename Cur >
constexpr auto ranges::operator!= (S const &left, basic_iterator< Cur > const &right) -> bool requires detail::sentinel_for_cursor< S, Cur >
 
template<typename Cur >
constexpr auto ranges::operator+ (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur >
 
template<typename Cur >
constexpr auto ranges::operator+ (typename basic_iterator< Cur >::difference_type n, basic_iterator< Cur > right) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur >
 
template<typename Cur , typename S >
constexpr auto ranges::operator- (basic_iterator< Cur > const &left, S const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< S, Cur >
 
template<typename Cur >
constexpr auto ranges::operator- (basic_iterator< Cur > left, typename basic_iterator< Cur >::difference_type n) -> basic_iterator< Cur > requires detail::random_access_cursor< Cur >
 
template<typename Cur2 , typename Cur >
constexpr auto ranges::operator- (basic_iterator< Cur2 > const &left, basic_iterator< Cur > const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< Cur2, Cur >
 
template<typename S , typename Cur >
constexpr auto ranges::operator- (S const &left, basic_iterator< Cur > const &right) -> typename basic_iterator< Cur >::difference_type requires detail::sized_sentinel_for_cursor< S, Cur >
 
template<typename Left , typename Right >
constexpr auto ranges::operator< (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left >
 
template<typename Left , typename Right >
constexpr auto ranges::operator<= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left >
 
template<typename Cur , typename Cur2 >
constexpr auto ranges::operator== (basic_iterator< Cur > const &left, basic_iterator< Cur2 > const &right) -> bool requires detail::sentinel_for_cursor< Cur2, Cur >
 
template<typename Cur , typename S >
constexpr auto ranges::operator== (basic_iterator< Cur > const &left, S const &right) -> bool requires detail::sentinel_for_cursor< S, Cur >
 
template<typename S , typename Cur >
constexpr auto ranges::operator== (S const &left, basic_iterator< Cur > const &right) -> bool requires detail::sentinel_for_cursor< S, Cur >
 
template<typename Left , typename Right >
constexpr auto ranges::operator> (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left >
 
template<typename Left , typename Right >
constexpr auto ranges::operator>= (basic_iterator< Left > const &left, basic_iterator< Right > const &right) -> bool requires detail::sized_sentinel_for_cursor< Right, Left >
 

Variables

constexpr get_cursor_fn ranges::get_cursor {}