openMSX
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
XRange< T >::Iter Struct 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 T operator* () const
 
constexpr Iteroperator++ ()
 
constexpr Iter operator++ (int)
 
constexpr bool operator== (const Iter &other) const
 
constexpr bool operator!= (const Iter &other) const
 
constexpr Iteroperator-- ()
 
constexpr Iter operator-- (int)
 
constexpr Iteroperator+= (difference_type n)
 
constexpr Iteroperator-= (difference_type n)
 
constexpr T operator[] (difference_type n)
 

Public Attributes

x
 

Friends

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

Detailed Description

template<typename T>
struct XRange< T >::Iter

Definition at line 42 of file xrange.hh.

Member Typedef Documentation

◆ difference_type

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

Definition at line 44 of file xrange.hh.

◆ iterator_category

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

Definition at line 48 of file xrange.hh.

◆ pointer

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

Definition at line 46 of file xrange.hh.

◆ reference

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

Definition at line 47 of file xrange.hh.

◆ value_type

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

Definition at line 45 of file xrange.hh.

Member Function Documentation

◆ operator!=()

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

Definition at line 72 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator*()

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

Definition at line 51 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator++() [1/2]

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

Definition at line 56 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator++() [2/2]

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

Definition at line 61 of file xrange.hh.

References ranges::copy(), and XRange< T >::Iter::x.

◆ operator+=()

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

Definition at line 91 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator--() [1/2]

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

Definition at line 78 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator--() [2/2]

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

Definition at line 83 of file xrange.hh.

References ranges::copy(), and XRange< T >::Iter::x.

◆ operator-=()

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

Definition at line 96 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator==()

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

Definition at line 68 of file xrange.hh.

References XRange< T >::Iter::x.

◆ operator[]()

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

Definition at line 123 of file xrange.hh.

Friends And Related Function Documentation

◆ operator+ [1/2]

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

Definition at line 107 of file xrange.hh.

◆ operator+ [2/2]

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

Definition at line 102 of file xrange.hh.

◆ operator- [1/2]

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

Definition at line 118 of file xrange.hh.

◆ operator- [2/2]

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

Definition at line 112 of file xrange.hh.

◆ operator<

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

Definition at line 128 of file xrange.hh.

◆ operator<=

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

Definition at line 132 of file xrange.hh.

◆ operator>

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

Definition at line 136 of file xrange.hh.

◆ operator>=

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

Definition at line 140 of file xrange.hh.

Member Data Documentation

◆ x

template<typename T >
T XRange< T >::Iter::x

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