Range-v3
Range algorithms, views, and actions for the Standard Library
ranges::v3::basic_iterator< Cur, S > Struct Template Reference
+ Inheritance diagram for ranges::v3::basic_iterator< Cur, S >:

Friends

constexpr bool operator!= (basic_iterator const &left, basic_iterator const &right)
 
constexpr bool operator!= (basic_iterator const &left, basic_sentinel< S > const &right)
 
constexpr bool operator!= (basic_sentinel< S > const &left, basic_iterator const &right)
 
basic_iterator operator+ (basic_iterator left, difference_type n)
 
basic_iterator operator+ (difference_type n, basic_iterator right)
 
basic_iterator operator- (basic_iterator left, difference_type n)
 
difference_type operator- (basic_iterator const &left, basic_iterator const &right)
 
difference_type operator- (basic_sentinel< S > const &left, basic_iterator const &right)
 
difference_type operator- (basic_iterator const &left, basic_sentinel< S > const &right)
 
bool operator< (basic_iterator const &left, basic_iterator const &right)
 
bool operator<= (basic_iterator const &left, basic_iterator const &right)
 
constexpr bool operator== (basic_iterator const &left, basic_iterator const &right)
 
constexpr bool operator== (basic_iterator const &left, basic_sentinel< S > const &right)
 
constexpr bool operator== (basic_sentinel< S > const &left, basic_iterator const &right)
 
bool operator> (basic_iterator const &left, basic_iterator const &right)
 
bool operator>= (basic_iterator const &left, basic_iterator const &right)
 

Public Member Functions

 basic_iterator (Cur pos)
 
reference_t operator* () noexcept(noexcept(std::declval< basic_iterator & >(). dereference_(detail::is_writable_cursor< Cur >{})))
 
const_reference_t operator* () const noexcept(noexcept(std::declval< basic_iterator const & >(). dereference_(detail::is_writable_cursor< Cur >{})))
 
basic_iteratoroperator++ ()
 
basic_iteratoroperator+= (difference_type n)
 
basic_iteratoroperator-- ()
 
basic_iterator operator-- (int)
 
basic_iteratoroperator-= (difference_type n)
 
const_reference_t operator[] (difference_type n) const
 

Methods

template<typename Cur, typename S>
constexpr bool operator!= ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::HasEqualCursor<Cur>()
template<typename Cur, typename S>
basic_iterator operator+ ( basic_iterator< Cur, S >  left,
difference_type  n 
)
friend
Precondition
detail::RandomAccessCursor<Cur>()
template<typename Cur, typename S>
basic_iterator operator+ ( difference_type  n,
basic_iterator< Cur, S >  right 
)
friend
Precondition
detail::RandomAccessCursor<Cur>()
template<typename Cur, typename S>
basic_iterator operator- ( basic_iterator< Cur, S >  left,
difference_type  n 
)
friend
Precondition
detail::RandomAccessCursor<Cur>()
template<typename Cur, typename S>
difference_type operator- ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursor<Cur>()
template<typename Cur, typename S>
difference_type operator- ( basic_sentinel< S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursorRange<Cur S>())
template<typename Cur, typename S>
difference_type operator- ( basic_iterator< Cur, S > const &  left,
basic_sentinel< S > const &  right 
)
friend
Precondition
detail::SizedCursorRange<Cur S>())
template<typename Cur, typename S>
bool operator< ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursor<Cur>()
template<typename Cur, typename S>
bool operator<= ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursor<Cur>()
template<typename Cur, typename S>
constexpr bool operator== ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::HasEqualCursor<Cur>()
template<typename Cur, typename S>
bool operator> ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursor<Cur>()
template<typename Cur, typename S>
bool operator>= ( basic_iterator< Cur, S > const &  left,
basic_iterator< Cur, S > const &  right 
)
friend
Precondition
detail::SizedCursor<Cur>()

Member Function Documentation

template<typename Cur, typename S>
basic_iterator& ranges::v3::basic_iterator< Cur, S >::operator+= ( difference_type  n)
Precondition
detail::RandomAccessCursor<Cur>()

References ranges::v3::advance.

template<typename Cur, typename S>
basic_iterator& ranges::v3::basic_iterator< Cur, S >::operator-- ( )
Precondition
detail::BidirectionalCursor<Cur>()

References ranges::v3::prev.

template<typename Cur, typename S>
basic_iterator ranges::v3::basic_iterator< Cur, S >::operator-- ( int  )
Precondition
detail::BidirectionalCursor<Cur>()
template<typename Cur, typename S>
basic_iterator& ranges::v3::basic_iterator< Cur, S >::operator-= ( difference_type  n)
Precondition
detail::RandomAccessCursor<Cur>()

References ranges::v3::advance.

template<typename Cur, typename S>
const_reference_t ranges::v3::basic_iterator< Cur, S >::operator[] ( difference_type  n) const
Precondition
detail::RandomAccessCursor<Cur>()