neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::offset_iterator< T > Class Template Reference

#include <i_contiguous_random_access_container.hpp>

Public Types

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

Public Member Functions

 offset_iterator ()
 
 offset_iterator (std::nullptr_t)
 
 offset_iterator (T *aElement, std::ptrdiff_t aOffset)
 
 offset_iterator (const self_type &aOther)
 
template<typename Iterator >
 offset_iterator (const Iterator &aOther, std::enable_if_t<!std::is_same_v< Iterator, self_type > &&std::is_same_v< Iterator, offset_iterator< std::remove_const_t< value_type > > >, sfinae >={})
 
offset_iteratoroperator++ ()
 
offset_iteratoroperator-- ()
 
offset_iterator operator++ (int)
 
offset_iterator operator-- (int)
 
offset_iteratoroperator+= (difference_type aDifference)
 
offset_iteratoroperator-= (difference_type aDifference)
 
offset_iterator operator+ (difference_type aDifference) const
 
offset_iterator operator- (difference_type aDifference) const
 
reference operator[] (difference_type aDifference) const
 
difference_type operator- (const offset_iterator &aOther) const
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (const offset_iterator &aOther) const
 
bool operator!= (const offset_iterator &aOther) const
 
bool operator< (const offset_iterator &aOther) const
 
bool operator<= (const offset_iterator &aOther) const
 
bool operator> (const offset_iterator &aOther) const
 
bool operator>= (const offset_iterator &aOther) const
 

Friends

template<typename T2 >
class offset_iterator
 

Detailed Description

template<typename T>
class neolib::offset_iterator< T >

Definition at line 53 of file i_contiguous_random_access_container.hpp.

Member Typedef Documentation

◆ difference_type

template<typename T >
using neolib::offset_iterator< T >::difference_type = std::ptrdiff_t

Definition at line 63 of file i_contiguous_random_access_container.hpp.

◆ iterator_category

template<typename T >
using neolib::offset_iterator< T >::iterator_category = std::random_access_iterator_tag

Definition at line 59 of file i_contiguous_random_access_container.hpp.

◆ pointer

template<typename T >
using neolib::offset_iterator< T >::pointer = T*

Definition at line 61 of file i_contiguous_random_access_container.hpp.

◆ reference

template<typename T >
using neolib::offset_iterator< T >::reference = T&

Definition at line 62 of file i_contiguous_random_access_container.hpp.

◆ value_type

template<typename T >
using neolib::offset_iterator< T >::value_type = T

Definition at line 60 of file i_contiguous_random_access_container.hpp.

Constructor & Destructor Documentation

◆ offset_iterator() [1/5]

template<typename T >
neolib::offset_iterator< T >::offset_iterator ( )
inline

Definition at line 65 of file i_contiguous_random_access_container.hpp.

◆ offset_iterator() [2/5]

template<typename T >
neolib::offset_iterator< T >::offset_iterator ( std::nullptr_t  )
inline

Definition at line 69 of file i_contiguous_random_access_container.hpp.

◆ offset_iterator() [3/5]

template<typename T >
neolib::offset_iterator< T >::offset_iterator ( T aElement,
std::ptrdiff_t  aOffset 
)
inline

Definition at line 73 of file i_contiguous_random_access_container.hpp.

◆ offset_iterator() [4/5]

template<typename T >
neolib::offset_iterator< T >::offset_iterator ( const self_type &  aOther)
inline

Definition at line 77 of file i_contiguous_random_access_container.hpp.

◆ offset_iterator() [5/5]

template<typename T >
template<typename Iterator >
neolib::offset_iterator< T >::offset_iterator ( const Iterator aOther,
std::enable_if_t<!std::is_same_v< Iterator, self_type > &&std::is_same_v< Iterator, offset_iterator< std::remove_const_t< value_type > > >, sfinae = {} 
)
inline

Definition at line 82 of file i_contiguous_random_access_container.hpp.

Member Function Documentation

◆ operator!=()

template<typename T >
bool neolib::offset_iterator< T >::operator!= ( const offset_iterator< T > &  aOther) const
inline

Definition at line 100 of file i_contiguous_random_access_container.hpp.

◆ operator*()

template<typename T >
reference neolib::offset_iterator< T >::operator* ( ) const
inline

Definition at line 97 of file i_contiguous_random_access_container.hpp.

◆ operator+()

template<typename T >
offset_iterator neolib::offset_iterator< T >::operator+ ( difference_type  aDifference) const
inline

Definition at line 93 of file i_contiguous_random_access_container.hpp.

◆ operator++() [1/2]

template<typename T >
offset_iterator & neolib::offset_iterator< T >::operator++ ( )
inline

Definition at line 87 of file i_contiguous_random_access_container.hpp.

◆ operator++() [2/2]

template<typename T >
offset_iterator neolib::offset_iterator< T >::operator++ ( int  )
inline

Definition at line 89 of file i_contiguous_random_access_container.hpp.

◆ operator+=()

template<typename T >
offset_iterator & neolib::offset_iterator< T >::operator+= ( difference_type  aDifference)
inline

Definition at line 91 of file i_contiguous_random_access_container.hpp.

◆ operator-() [1/2]

template<typename T >
difference_type neolib::offset_iterator< T >::operator- ( const offset_iterator< T > &  aOther) const
inline

Definition at line 96 of file i_contiguous_random_access_container.hpp.

◆ operator-() [2/2]

template<typename T >
offset_iterator neolib::offset_iterator< T >::operator- ( difference_type  aDifference) const
inline

Definition at line 94 of file i_contiguous_random_access_container.hpp.

◆ operator--() [1/2]

template<typename T >
offset_iterator & neolib::offset_iterator< T >::operator-- ( )
inline

Definition at line 88 of file i_contiguous_random_access_container.hpp.

◆ operator--() [2/2]

template<typename T >
offset_iterator neolib::offset_iterator< T >::operator-- ( int  )
inline

Definition at line 90 of file i_contiguous_random_access_container.hpp.

◆ operator-=()

template<typename T >
offset_iterator & neolib::offset_iterator< T >::operator-= ( difference_type  aDifference)
inline

Definition at line 92 of file i_contiguous_random_access_container.hpp.

◆ operator->()

template<typename T >
pointer neolib::offset_iterator< T >::operator-> ( ) const
inline

Definition at line 98 of file i_contiguous_random_access_container.hpp.

◆ operator<()

template<typename T >
bool neolib::offset_iterator< T >::operator< ( const offset_iterator< T > &  aOther) const
inline

Definition at line 101 of file i_contiguous_random_access_container.hpp.

◆ operator<=()

template<typename T >
bool neolib::offset_iterator< T >::operator<= ( const offset_iterator< T > &  aOther) const
inline

Definition at line 102 of file i_contiguous_random_access_container.hpp.

◆ operator==()

template<typename T >
bool neolib::offset_iterator< T >::operator== ( const offset_iterator< T > &  aOther) const
inline

Definition at line 99 of file i_contiguous_random_access_container.hpp.

◆ operator>()

template<typename T >
bool neolib::offset_iterator< T >::operator> ( const offset_iterator< T > &  aOther) const
inline

Definition at line 103 of file i_contiguous_random_access_container.hpp.

◆ operator>=()

template<typename T >
bool neolib::offset_iterator< T >::operator>= ( const offset_iterator< T > &  aOther) const
inline

Definition at line 104 of file i_contiguous_random_access_container.hpp.

◆ operator[]()

template<typename T >
reference neolib::offset_iterator< T >::operator[] ( difference_type  aDifference) const
inline

Definition at line 95 of file i_contiguous_random_access_container.hpp.

Friends And Related Symbol Documentation

◆ offset_iterator

template<typename T >
template<typename T2 >
friend class offset_iterator
friend

Definition at line 56 of file i_contiguous_random_access_container.hpp.


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