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 > >
 

Namespaces

namespace  std
 STL namespace.
 

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 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 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 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 get_cursor_fn ranges::get_cursor {}