OpenEnroth 73e68f7
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Private Attributes | Friends | List of all members
detail::RangeIterator< T > Class Template Reference

#include <Segment.h>

Public Types

using difference_type = ptrdiff_t
 
using value_type = T
 
using pointer = T *
 
using reference = T
 
using iterator_category = std::random_access_iterator_tag
 

Public Member Functions

constexpr RangeIterator ()=default
 
constexpr RangeIterator (value_type pos)
 
constexpr reference operator* () const
 
constexpr RangeIteratoroperator++ ()
 
constexpr RangeIterator operator++ (int)
 
constexpr RangeIteratoroperator-- ()
 
constexpr RangeIterator operator-- (int)
 
constexpr RangeIteratoroperator+= (difference_type r)
 
constexpr RangeIteratoroperator-= (difference_type r)
 

Private Attributes

value_type _pos = T()
 

Friends

constexpr friend auto operator<=> (RangeIterator l, RangeIterator r)=default
 
constexpr friend difference_type operator- (RangeIterator l, RangeIterator r)
 
constexpr friend RangeIterator operator- (RangeIterator l, difference_type r)
 
constexpr friend RangeIterator operator+ (RangeIterator l, difference_type r)
 
constexpr friend RangeIterator operator+ (difference_type l, RangeIterator r)
 

Member Typedef Documentation

◆ difference_type

template<class T >
using detail::RangeIterator< T >::difference_type = ptrdiff_t

◆ iterator_category

template<class T >
using detail::RangeIterator< T >::iterator_category = std::random_access_iterator_tag

◆ pointer

template<class T >
using detail::RangeIterator< T >::pointer = T *

◆ reference

template<class T >
using detail::RangeIterator< T >::reference = T

◆ value_type

template<class T >
using detail::RangeIterator< T >::value_type = T

Constructor & Destructor Documentation

◆ RangeIterator() [1/2]

template<class T >
constexpr detail::RangeIterator< T >::RangeIterator ( )
constexprdefault

◆ RangeIterator() [2/2]

template<class T >
constexpr detail::RangeIterator< T >::RangeIterator ( value_type  pos)
inlineexplicitconstexpr

Member Function Documentation

◆ operator*()

template<class T >
constexpr reference detail::RangeIterator< T >::operator* ( ) const
inlineconstexpr

◆ operator++() [1/2]

template<class T >
constexpr RangeIterator & detail::RangeIterator< T >::operator++ ( )
inlineconstexpr

◆ operator++() [2/2]

template<class T >
constexpr RangeIterator detail::RangeIterator< T >::operator++ ( int  )
inlineconstexpr

◆ operator+=()

template<class T >
constexpr RangeIterator & detail::RangeIterator< T >::operator+= ( difference_type  r)
inlineconstexpr

◆ operator--() [1/2]

template<class T >
constexpr RangeIterator & detail::RangeIterator< T >::operator-- ( )
inlineconstexpr

◆ operator--() [2/2]

template<class T >
constexpr RangeIterator detail::RangeIterator< T >::operator-- ( int  )
inlineconstexpr

◆ operator-=()

template<class T >
constexpr RangeIterator & detail::RangeIterator< T >::operator-= ( difference_type  r)
inlineconstexpr

Friends And Related Function Documentation

◆ operator+ [1/2]

template<class T >
constexpr friend RangeIterator operator+ ( difference_type  l,
RangeIterator< T >  r 
)
friend

◆ operator+ [2/2]

template<class T >
constexpr friend RangeIterator operator+ ( RangeIterator< T >  l,
difference_type  r 
)
friend

◆ operator- [1/2]

template<class T >
constexpr friend RangeIterator operator- ( RangeIterator< T >  l,
difference_type  r 
)
friend

◆ operator- [2/2]

template<class T >
constexpr friend difference_type operator- ( RangeIterator< T >  l,
RangeIterator< T >  r 
)
friend

◆ operator<=>

template<class T >
constexpr friend auto operator<=> ( RangeIterator< T >  l,
RangeIterator< T >  r 
)
friend

Member Data Documentation

◆ _pos

template<class T >
value_type detail::RangeIterator< T >::_pos = T()
private

The documentation for this class was generated from the following file: