openMSX
Public Types | Public Member Functions | Friends | List of all members
XRange< T >::XRangeIter Class Reference

#include <xrange.hh>

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 XRangeIter (T x_)
 
constexpr T operator* () const
 
constexpr XRangeIteroperator++ ()
 
constexpr XRangeIter operator++ (int)
 
constexpr bool operator== (const XRangeIter &other) const
 
constexpr bool operator!= (const XRangeIter &other) const
 
constexpr XRangeIteroperator-- ()
 
constexpr XRangeIter operator-- (int)
 
constexpr XRangeIteroperator+= (difference_type n)
 
constexpr XRangeIteroperator-= (difference_type n)
 
constexpr T operator[] (difference_type n)
 

Friends

constexpr friend XRangeIter operator+ (XRangeIter i, difference_type n)
 
constexpr friend XRangeIter operator+ (difference_type n, XRangeIter i)
 
constexpr friend XRangeIter operator- (XRangeIter i, difference_type n)
 
constexpr friend difference_type operator- (const XRangeIter &i, const XRangeIter &j)
 
constexpr friend bool operator< (const XRangeIter &i, const XRangeIter &j)
 
constexpr friend bool operator<= (const XRangeIter &i, const XRangeIter &j)
 
constexpr friend bool operator> (const XRangeIter &i, const XRangeIter &j)
 
constexpr friend bool operator>= (const XRangeIter &i, const XRangeIter &j)
 

Detailed Description

template<typename T>
class XRange< T >::XRangeIter

Definition at line 43 of file xrange.hh.

Member Typedef Documentation

◆ difference_type

template<typename T >
using XRange< T >::XRangeIter::difference_type = ptrdiff_t

Definition at line 46 of file xrange.hh.

◆ iterator_category

template<typename T >
using XRange< T >::XRangeIter::iterator_category = std::random_access_iterator_tag

Definition at line 50 of file xrange.hh.

◆ pointer

template<typename T >
using XRange< T >::XRangeIter::pointer = T*

Definition at line 48 of file xrange.hh.

◆ reference

template<typename T >
using XRange< T >::XRangeIter::reference = T&

Definition at line 49 of file xrange.hh.

◆ value_type

template<typename T >
using XRange< T >::XRangeIter::value_type = T

Definition at line 47 of file xrange.hh.

Constructor & Destructor Documentation

◆ XRangeIter()

template<typename T >
constexpr XRange< T >::XRangeIter::XRangeIter ( x_)
inlineexplicitconstexpr

Definition at line 52 of file xrange.hh.

Member Function Documentation

◆ operator!=()

template<typename T >
constexpr bool XRange< T >::XRangeIter::operator!= ( const XRangeIter other) const
inlineconstexpr

Definition at line 79 of file xrange.hh.

◆ operator*()

template<typename T >
constexpr T XRange< T >::XRangeIter::operator* ( ) const
inlineconstexpr

Definition at line 58 of file xrange.hh.

◆ operator++() [1/2]

template<typename T >
constexpr XRangeIter& XRange< T >::XRangeIter::operator++ ( )
inlineconstexpr

Definition at line 63 of file xrange.hh.

◆ operator++() [2/2]

template<typename T >
constexpr XRangeIter XRange< T >::XRangeIter::operator++ ( int  )
inlineconstexpr

Definition at line 68 of file xrange.hh.

References ranges::copy().

◆ operator+=()

template<typename T >
constexpr XRangeIter& XRange< T >::XRangeIter::operator+= ( difference_type  n)
inlineconstexpr

Definition at line 98 of file xrange.hh.

◆ operator--() [1/2]

template<typename T >
constexpr XRangeIter& XRange< T >::XRangeIter::operator-- ( )
inlineconstexpr

Definition at line 85 of file xrange.hh.

◆ operator--() [2/2]

template<typename T >
constexpr XRangeIter XRange< T >::XRangeIter::operator-- ( int  )
inlineconstexpr

Definition at line 90 of file xrange.hh.

References ranges::copy().

◆ operator-=()

template<typename T >
constexpr XRangeIter& XRange< T >::XRangeIter::operator-= ( difference_type  n)
inlineconstexpr

Definition at line 103 of file xrange.hh.

◆ operator==()

template<typename T >
constexpr bool XRange< T >::XRangeIter::operator== ( const XRangeIter other) const
inlineconstexpr

Definition at line 75 of file xrange.hh.

◆ operator[]()

template<typename T >
constexpr T XRange< T >::XRangeIter::operator[] ( difference_type  n)
inlineconstexpr

Definition at line 130 of file xrange.hh.

Friends And Related Function Documentation

◆ operator+ [1/2]

template<typename T >
constexpr friend XRangeIter operator+ ( difference_type  n,
XRangeIter  i 
)
friend

Definition at line 114 of file xrange.hh.

◆ operator+ [2/2]

template<typename T >
constexpr friend XRangeIter operator+ ( XRangeIter  i,
difference_type  n 
)
friend

Definition at line 109 of file xrange.hh.

◆ operator- [1/2]

template<typename T >
constexpr friend difference_type operator- ( const XRangeIter i,
const XRangeIter j 
)
friend

Definition at line 125 of file xrange.hh.

◆ operator- [2/2]

template<typename T >
constexpr friend XRangeIter operator- ( XRangeIter  i,
difference_type  n 
)
friend

Definition at line 119 of file xrange.hh.

◆ operator<

template<typename T >
constexpr friend bool operator< ( const XRangeIter i,
const XRangeIter j 
)
friend

Definition at line 135 of file xrange.hh.

◆ operator<=

template<typename T >
constexpr friend bool operator<= ( const XRangeIter i,
const XRangeIter j 
)
friend

Definition at line 139 of file xrange.hh.

◆ operator>

template<typename T >
constexpr friend bool operator> ( const XRangeIter i,
const XRangeIter j 
)
friend

Definition at line 143 of file xrange.hh.

◆ operator>=

template<typename T >
constexpr friend bool operator>= ( const XRangeIter i,
const XRangeIter j 
)
friend

Definition at line 147 of file xrange.hh.


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