neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference > Class Template Reference

#include <i_iterator.hpp>

Inheritance diagram for neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >:
neolib::const_iterator< T, Category, Difference, Pointer, Reference >

Public Types

typedef i_random_access_const_iterator< T, Category, Difference, Pointer, Reference > abstract_type
 
using abstract_iterator = abstract_type
 
using abstract_const_iterator = abstract_type
 
typedef T value_type
 
typedef Difference difference_type
 
typedef Pointer pointer
 
typedef Reference reference
 
typedef Category iterator_category
 
- Public Types inherited from neolib::const_iterator< T, Category, Difference, Pointer, Reference >
typedef T value_type
 
typedef Difference difference_type
 
typedef Pointer pointer
 
typedef Reference reference
 
typedef Category iterator_category
 
typedef i_const_iterator< T, Category, Difference, Pointer, Reference > abstract_iterator
 
typedef i_const_iterator< T, Category, Difference, Pointer, Reference > abstract_const_iterator
 

Public Member Functions

 random_access_const_iterator ()
 
 random_access_const_iterator (abstract_iterator *aWrappedIterator)
 
 random_access_const_iterator (const self_type &aOther)
 
 random_access_const_iterator (const i_random_access_iterator< T, Category, Difference, T *, T & > &aOther)
 
 random_access_const_iterator (const iterator< T, Category, Difference, T *, T & > &aOther)
 
 ~random_access_const_iterator ()
 
self_typeoperator= (const self_type &aOther)
 
self_typeoperator= (const i_random_access_iterator< T, Category, Difference, T *, T & > &aOther)
 
self_typeoperator= (const iterator< T, Category, Difference, T *, T & > &aOther)
 
 operator abstract_iterator & ()
 
abstract_iteratoroperator+= (difference_type aDifference)
 
abstract_iteratoroperator-= (difference_type aDifference)
 
self_type operator+ (difference_type aDifference) const
 
self_type operator- (difference_type aDifference) const
 
reference operator[] (difference_type aDifference) const
 
difference_type operator- (const self_type &aOther) const
 
bool operator< (const self_type &aOther) const
 
bool operator<= (const self_type &aOther) const
 
bool operator> (const self_type &aOther) const
 
bool operator>= (const self_type &aOther) const
 
abstract_iteratorwrapped_iterator () const
 
- Public Member Functions inherited from neolib::const_iterator< T, Category, Difference, Pointer, Reference >
 const_iterator ()
 
 const_iterator (abstract_iterator *aWrappedIterator)
 
 const_iterator (const self_type &aOther)
 
 const_iterator (const i_iterator< T, Category, Difference, T *, T & > &aOther)
 
 const_iterator (const iterator< T, Category, Difference, T *, T & > &aOther)
 
 ~const_iterator ()
 
self_typeoperator= (const self_type &aOther)
 
self_typeoperator= (const iterator< T, Category, Difference, T *, T & > &aOther)
 
 operator abstract_iterator & ()
 
abstract_iteratoroperator++ ()
 
abstract_iteratoroperator-- ()
 
self_type operator++ (int)
 
self_type operator-- (int)
 
reference operator* () const
 
pointer operator-> () const
 
bool operator== (const self_type &aOther) const
 
bool operator!= (const self_type &aOther) const
 
bool is_singular () const
 
abstract_iteratorwrapped_iterator () const
 
abstract_iteratorclone (void *memory) const
 
voidstorage () const
 

Additional Inherited Members

- Protected Attributes inherited from neolib::const_iterator< T, Category, Difference, Pointer, Reference >
bool iSingular = true
 
std::aligned_storage< sizeof(void *) *10 >::type iStorage
 

Detailed Description

template<typename T, typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
class neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >

Definition at line 229 of file i_iterator.hpp.

Member Typedef Documentation

◆ abstract_const_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
using neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::abstract_const_iterator = abstract_type

Definition at line 242 of file i_iterator.hpp.

◆ abstract_iterator

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
using neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::abstract_iterator = abstract_type

Definition at line 241 of file i_iterator.hpp.

◆ abstract_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef i_random_access_const_iterator<T, Category, Difference, Pointer, Reference> neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::abstract_type

Definition at line 234 of file i_iterator.hpp.

◆ difference_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef Difference neolib::const_iterator< T, Category, Difference, Pointer, Reference >::difference_type

Definition at line 131 of file i_iterator.hpp.

◆ iterator_category

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef Category neolib::const_iterator< T, Category, Difference, Pointer, Reference >::iterator_category

Definition at line 134 of file i_iterator.hpp.

◆ pointer

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef Pointer neolib::const_iterator< T, Category, Difference, Pointer, Reference >::pointer

Definition at line 132 of file i_iterator.hpp.

◆ reference

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef Reference neolib::const_iterator< T, Category, Difference, Pointer, Reference >::reference

Definition at line 133 of file i_iterator.hpp.

◆ value_type

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
typedef T neolib::const_iterator< T, Category, Difference, Pointer, Reference >::value_type

Definition at line 130 of file i_iterator.hpp.

Constructor & Destructor Documentation

◆ random_access_const_iterator() [1/5]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::random_access_const_iterator ( )
inline

Definition at line 244 of file i_iterator.hpp.

◆ random_access_const_iterator() [2/5]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::random_access_const_iterator ( abstract_iterator aWrappedIterator)
inline

Definition at line 248 of file i_iterator.hpp.

◆ random_access_const_iterator() [3/5]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::random_access_const_iterator ( const self_type aOther)
inline

Definition at line 252 of file i_iterator.hpp.

◆ random_access_const_iterator() [4/5]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::random_access_const_iterator ( const i_random_access_iterator< T, Category, Difference, T *, T & > &  aOther)
inline

Definition at line 256 of file i_iterator.hpp.

◆ random_access_const_iterator() [5/5]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::random_access_const_iterator ( const iterator< T, Category, Difference, T *, T & > &  aOther)
inline

Definition at line 260 of file i_iterator.hpp.

◆ ~random_access_const_iterator()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::~random_access_const_iterator ( )
inline

Definition at line 264 of file i_iterator.hpp.

Member Function Documentation

◆ operator abstract_iterator &()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator abstract_iterator & ( )
inline

Definition at line 282 of file i_iterator.hpp.

◆ operator+()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
self_type neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator+ ( difference_type  aDifference) const
inline

Definition at line 289 of file i_iterator.hpp.

◆ operator+=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
abstract_iterator & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator+= ( difference_type  aDifference)
inline

Definition at line 287 of file i_iterator.hpp.

◆ operator-() [1/2]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
difference_type neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator- ( const self_type aOther) const
inline

Definition at line 292 of file i_iterator.hpp.

◆ operator-() [2/2]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
self_type neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator- ( difference_type  aDifference) const
inline

Definition at line 290 of file i_iterator.hpp.

◆ operator-=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
abstract_iterator & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator-= ( difference_type  aDifference)
inline

Definition at line 288 of file i_iterator.hpp.

◆ operator<()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
bool neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator< ( const self_type aOther) const
inline

Definition at line 293 of file i_iterator.hpp.

◆ operator<=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
bool neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator<= ( const self_type aOther) const
inline

Definition at line 294 of file i_iterator.hpp.

◆ operator=() [1/3]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
self_type & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator= ( const i_random_access_iterator< T, Category, Difference, T *, T & > &  aOther)
inline

Definition at line 272 of file i_iterator.hpp.

◆ operator=() [2/3]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
self_type & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator= ( const iterator< T, Category, Difference, T *, T & > &  aOther)
inline

Definition at line 277 of file i_iterator.hpp.

◆ operator=() [3/3]

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
self_type & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator= ( const self_type aOther)
inline

Definition at line 267 of file i_iterator.hpp.

◆ operator>()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
bool neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator> ( const self_type aOther) const
inline

Definition at line 295 of file i_iterator.hpp.

◆ operator>=()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
bool neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator>= ( const self_type aOther) const
inline

Definition at line 296 of file i_iterator.hpp.

◆ operator[]()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
reference neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::operator[] ( difference_type  aDifference) const
inline

Definition at line 291 of file i_iterator.hpp.

◆ wrapped_iterator()

template<typename T , typename Category = std::random_access_iterator_tag, typename Difference = std::ptrdiff_t, typename Pointer = const T*, typename Reference = const T&>
abstract_iterator & neolib::random_access_const_iterator< T, Category, Difference, Pointer, Reference >::wrapped_iterator ( ) const
inline

Definition at line 298 of file i_iterator.hpp.


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