neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
neolib::generic_iterator Class Reference

#include <generic_iterator.hpp>

Inheritance diagram for neolib::generic_iterator:
neolib::specialized_generic_iterator< Iterator >

Classes

class  i_wrapper
 
class  wrapper
 
struct  wrong_iterator_type
 

Public Types

typedef std::bidirectional_iterator_tag iterator_category
 
typedef std::ptrdiff_t difference_type
 

Public Member Functions

 generic_iterator ()
 
 generic_iterator (const generic_iterator &aOther)
 
virtual ~generic_iterator ()
 
generic_iteratoroperator++ ()
 
generic_iteratoroperator-- ()
 
generic_iterator operator++ (int)
 
generic_iterator operator-- (int)
 
generic_iteratoroperator+= (difference_type aDelta)
 
generic_iteratoroperator-= (difference_type aDelta)
 
generic_iterator operator+ (difference_type aDelta)
 
generic_iterator operator- (difference_type aDelta)
 
bool operator== (const generic_iterator &aOther) const
 
bool operator!= (const generic_iterator &aOther) const
 
template<typename Iterator >
bool is_one_of () const
 
template<typename Iterator1 , typename Iterator2 , typename... Rest>
bool is_one_of () const
 
template<typename Iterator >
Iterator get () const
 
template<typename Iterator , typename NextIterator , typename... Rest>
Iterator get () const
 

Protected Member Functions

template<typename Wrapper >
void construct (const Wrapper &aWrapper)
 
template<typename Wrapper >
void construct2 (const Wrapper &aWrapper, bool aInPlace)
 
i_wrapperwrapped_iterator ()
 
const i_wrapperwrapped_iterator () const
 

Detailed Description

Definition at line 44 of file generic_iterator.hpp.

Member Typedef Documentation

◆ difference_type

Definition at line 48 of file generic_iterator.hpp.

◆ iterator_category

typedef std::bidirectional_iterator_tag neolib::generic_iterator::iterator_category

Definition at line 47 of file generic_iterator.hpp.

Constructor & Destructor Documentation

◆ generic_iterator() [1/2]

neolib::generic_iterator::generic_iterator ( )
inline

Definition at line 133 of file generic_iterator.hpp.

◆ generic_iterator() [2/2]

neolib::generic_iterator::generic_iterator ( const generic_iterator aOther)
inline

Definition at line 138 of file generic_iterator.hpp.

◆ ~generic_iterator()

virtual neolib::generic_iterator::~generic_iterator ( )
inlinevirtual

Definition at line 143 of file generic_iterator.hpp.

Member Function Documentation

◆ construct()

template<typename Wrapper >
void neolib::generic_iterator::construct ( const Wrapper aWrapper)
inlineprotected

Definition at line 240 of file generic_iterator.hpp.

◆ construct2()

template<typename Wrapper >
void neolib::generic_iterator::construct2 ( const Wrapper aWrapper,
bool  aInPlace 
)
inlineprotected

Definition at line 245 of file generic_iterator.hpp.

◆ get() [1/2]

template<typename Iterator >
Iterator neolib::generic_iterator::get ( ) const
inline

Definition at line 215 of file generic_iterator.hpp.

◆ get() [2/2]

template<typename Iterator , typename NextIterator , typename... Rest>
Iterator neolib::generic_iterator::get ( ) const
inline

Definition at line 227 of file generic_iterator.hpp.

◆ is_one_of() [1/2]

template<typename Iterator >
bool neolib::generic_iterator::is_one_of ( ) const
inline

Definition at line 205 of file generic_iterator.hpp.

◆ is_one_of() [2/2]

template<typename Iterator1 , typename Iterator2 , typename... Rest>
bool neolib::generic_iterator::is_one_of ( ) const
inline

Definition at line 210 of file generic_iterator.hpp.

◆ operator!=()

bool neolib::generic_iterator::operator!= ( const generic_iterator aOther) const
inline

Definition at line 199 of file generic_iterator.hpp.

◆ operator+()

generic_iterator neolib::generic_iterator::operator+ ( difference_type  aDelta)
inline

Definition at line 183 of file generic_iterator.hpp.

◆ operator++() [1/2]

generic_iterator & neolib::generic_iterator::operator++ ( )
inline

Definition at line 151 of file generic_iterator.hpp.

◆ operator++() [2/2]

generic_iterator neolib::generic_iterator::operator++ ( int  )
inline

Definition at line 161 of file generic_iterator.hpp.

◆ operator+=()

generic_iterator & neolib::generic_iterator::operator+= ( difference_type  aDelta)
inline

Definition at line 173 of file generic_iterator.hpp.

◆ operator-()

generic_iterator neolib::generic_iterator::operator- ( difference_type  aDelta)
inline

Definition at line 189 of file generic_iterator.hpp.

◆ operator--() [1/2]

generic_iterator & neolib::generic_iterator::operator-- ( )
inline

Definition at line 156 of file generic_iterator.hpp.

◆ operator--() [2/2]

generic_iterator neolib::generic_iterator::operator-- ( int  )
inline

Definition at line 167 of file generic_iterator.hpp.

◆ operator-=()

generic_iterator & neolib::generic_iterator::operator-= ( difference_type  aDelta)
inline

Definition at line 178 of file generic_iterator.hpp.

◆ operator==()

bool neolib::generic_iterator::operator== ( const generic_iterator aOther) const
inline

Definition at line 195 of file generic_iterator.hpp.

◆ wrapped_iterator() [1/2]

i_wrapper & neolib::generic_iterator::wrapped_iterator ( )
inlineprotected

Definition at line 258 of file generic_iterator.hpp.

◆ wrapped_iterator() [2/2]

const i_wrapper & neolib::generic_iterator::wrapped_iterator ( ) const
inlineprotected

Definition at line 262 of file generic_iterator.hpp.

Member Data Documentation

◆ iIteratorStorage

char neolib::generic_iterator::iIteratorStorage[sizeof(void *) *4]

Definition at line 270 of file generic_iterator.hpp.

◆ iPad

std::aligned_storage<sizeof(void*)*4>::type neolib::generic_iterator::iPad

Definition at line 269 of file generic_iterator.hpp.


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