openMSX
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
XRange< T >::Iter Struct Reference

#include <xrange.hh>

Collaboration diagram for XRange< T >::Iter:
Collaboration graph
[legend]

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)
 
bool operator== (const Iter &) const =default
 
constexpr Iteroperator-- ()
 
constexpr Iter operator-- (int)
 
constexpr Iteroperator+= (difference_type n)
 
constexpr Iteroperator-= (difference_type n)
 
constexpr T operator[] (difference_type n)
 
auto operator<=> (const Iter &) const =default
 

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)
 

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 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 84 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 71 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 76 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 89 of file xrange.hh.

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

◆ operator<=>()

template<typename T >
auto XRange< T >::Iter::operator<=> ( const Iter ) const
default

◆ operator==()

template<typename T >
bool XRange< T >::Iter::operator== ( const Iter ) const
default

◆ operator[]()

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

Definition at line 116 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 100 of file xrange.hh.

◆ operator+ [2/2]

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

Definition at line 95 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 111 of file xrange.hh.

◆ operator- [2/2]

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

Definition at line 105 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: