PGE API 0.4
PR00F's Game Engine full documentation
Loading...
Searching...
No Matches
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > Class Template Reference

Detailed Description

template<typename blContainerType, typename blAdvanceDistanceFunctorType, typename blBeginEndFunctorType>
class blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >

Definition at line 42 of file blIterator.hpp.

#include <blIterator.hpp>

+ Inheritance diagram for blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >:

Public Types

typedef std::shared_ptr< blContainerType > blContainerPtr
 
typedef std::iterator_traits< typenameblContainerType::iterator >::value_type blDataType
 
typedef std::iterator_traits< typenameblContainerType::iterator >::pointer blDataTypePtr
 
typedef std::iterator_traits< typenameblContainerType::iterator >::reference blDataTypeRef
 
typedef decltype(blBeginEndFunctorType::begin(std::declval< blContainerType & >())) iterator
 

Public Member Functions

 blIterator ()=default
 
 blIterator (blContainerType &container)
 
 blIterator (blContainerType *containerPtr)
 
 blIterator (const blContainerPtr &containerPtr)
 
 blIterator (const iterator &ptr, const blContainerPtr &containerPtr)
 
 blIterator (const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &)=default
 
 blIterator (blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &&)=default
 
 ~blIterator ()
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & operator= (const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &iterator)=default
 
blDataTypeRef operator* ()
 
const blDataTypeRef operator* () const
 
iterator operator-> ()
 
bool operator== (const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &iterator) const
 
bool operator!= (const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &iterator) const
 
 operator bool () const
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & operator++ ()
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > operator++ (int)
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & operator-- ()
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > operator-- (int)
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & operator+= (const ptrdiff_t &Offset)
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & operator-= (const ptrdiff_t &Offset)
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > operator+ (const ptrdiff_t &Offset) const
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > operator- (const ptrdiff_t &Offset) const
 
ptrdiff_t operator- (const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > &iterator) const
 
void setContainerPtr (blContainerType &container)
 
void setContainerPtr (const blContainerType &container)
 
void setContainerPtr (blContainerType *rawContainerPtr)
 
const iteratorgetPtr () const
 
const blContainerPtrgetContainerPtr () const
 
ptrdiff_t getDistanceFromBeginToIter () const
 
ptrdiff_t getDistanceFromIterToEnd () const
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > begin () const
 
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > end () const
 
blDataTypeRef operator[] (const size_t &index)
 
const blDataTypeRef operator[] (const size_t &index) const
 
size_t size () const
 
size_t length () const
 
size_t max_size () const
 
bool empty () const
 

Private Member Functions

void advance (const ptrdiff_t &HowManyStepsToAdvanceIter)
 

Private Attributes

iterator m_ptr
 
blContainerPtr m_containerPtr
 

Member Typedef Documentation

◆ blContainerPtr

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
std::shared_ptr<blContainerType> blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blContainerPtr

Definition at line 50 of file blIterator.hpp.

◆ blDataType

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
std::iterator_traits<typenameblContainerType::iterator>::value_type blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blDataType

Definition at line 52 of file blIterator.hpp.

◆ blDataTypePtr

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
std::iterator_traits<typenameblContainerType::iterator>::pointer blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blDataTypePtr

Definition at line 53 of file blIterator.hpp.

◆ blDataTypeRef

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
std::iterator_traits<typenameblContainerType::iterator>::reference blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blDataTypeRef

Definition at line 54 of file blIterator.hpp.

◆ iterator

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
decltype(blBeginEndFunctorType::begin(std::declval<blContainerType&>())) blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::iterator

Definition at line 56 of file blIterator.hpp.

Constructor & Destructor Documentation

◆ blIterator() [1/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( )
default

◆ blIterator() [2/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( blContainerType & container)
inline

Definition at line 79 of file blIterator.hpp.

◆ blIterator() [3/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( blContainerType * containerPtr)
inline

Definition at line 90 of file blIterator.hpp.

◆ blIterator() [4/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( const blContainerPtr & containerPtr)
inline

Definition at line 101 of file blIterator.hpp.

◆ blIterator() [5/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( const iterator & ptr,
const blContainerPtr & containerPtr )
inline

Definition at line 112 of file blIterator.hpp.

◆ blIterator() [6/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & )
default

◆ blIterator() [7/7]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::blIterator ( blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > && )
default

◆ ~blIterator()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::~blIterator ( )
inline

Definition at line 129 of file blIterator.hpp.

Member Function Documentation

◆ advance()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
void blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::advance ( const ptrdiff_t & HowManyStepsToAdvanceIter)
inlineprivate

Definition at line 425 of file blIterator.hpp.

◆ begin()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::begin ( ) const
inline

Definition at line 357 of file blIterator.hpp.

◆ empty()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
bool blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::empty ( ) const
inline

Definition at line 417 of file blIterator.hpp.

◆ end()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::end ( ) const
inline

Definition at line 374 of file blIterator.hpp.

◆ getContainerPtr()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
const blContainerPtr & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::getContainerPtr ( ) const
inline

Definition at line 324 of file blIterator.hpp.

◆ getDistanceFromBeginToIter()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
ptrdiff_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::getDistanceFromBeginToIter ( ) const
inline

Definition at line 333 of file blIterator.hpp.

◆ getDistanceFromIterToEnd()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
ptrdiff_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::getDistanceFromIterToEnd ( ) const
inline

Definition at line 341 of file blIterator.hpp.

◆ getPtr()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
const iterator & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::getPtr ( ) const
inline

Definition at line 323 of file blIterator.hpp.

◆ length()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
size_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::length ( ) const
inline

Definition at line 415 of file blIterator.hpp.

◆ max_size()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
size_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::max_size ( ) const
inline

Definition at line 416 of file blIterator.hpp.

◆ operator bool()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator bool ( ) const
inlineexplicit

Definition at line 168 of file blIterator.hpp.

◆ operator!=()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
bool blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator!= ( const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & iterator) const
inline

Definition at line 157 of file blIterator.hpp.

◆ operator*() [1/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blDataTypeRef blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator* ( )
inline

Definition at line 141 of file blIterator.hpp.

◆ operator*() [2/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
const blDataTypeRef blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator* ( ) const
inline

Definition at line 142 of file blIterator.hpp.

◆ operator+()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator+ ( const ptrdiff_t & Offset) const
inline

Definition at line 239 of file blIterator.hpp.

◆ operator++() [1/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator++ ( )
inline

Definition at line 181 of file blIterator.hpp.

◆ operator++() [2/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator++ ( int )
inline

Definition at line 189 of file blIterator.hpp.

◆ operator+=()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator+= ( const ptrdiff_t & Offset)
inline

Definition at line 223 of file blIterator.hpp.

◆ operator-() [1/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
ptrdiff_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator- ( const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & iterator) const
inline

Definition at line 261 of file blIterator.hpp.

◆ operator-() [2/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator- ( const ptrdiff_t & Offset) const
inline

Definition at line 248 of file blIterator.hpp.

◆ operator--() [1/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator-- ( )
inline

Definition at line 200 of file blIterator.hpp.

◆ operator--() [2/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator-- ( int )
inline

Definition at line 208 of file blIterator.hpp.

◆ operator-=()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator-= ( const ptrdiff_t & Offset)
inline

Definition at line 231 of file blIterator.hpp.

◆ operator->()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
iterator blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator-> ( )
inline

Definition at line 143 of file blIterator.hpp.

◆ operator=()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator= ( const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & iterator)
default

◆ operator==()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
bool blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator== ( const blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType > & iterator) const
inline

Definition at line 151 of file blIterator.hpp.

◆ operator[]() [1/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blDataTypeRef blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator[] ( const size_t & index)
inline

Definition at line 398 of file blIterator.hpp.

◆ operator[]() [2/2]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
const blDataTypeRef blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::operator[] ( const size_t & index) const
inline

Definition at line 399 of file blIterator.hpp.

◆ setContainerPtr() [1/3]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
void blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::setContainerPtr ( blContainerType & container)
inline

Definition at line 274 of file blIterator.hpp.

◆ setContainerPtr() [2/3]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
void blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::setContainerPtr ( blContainerType * rawContainerPtr)
inline

Definition at line 304 of file blIterator.hpp.

◆ setContainerPtr() [3/3]

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
void blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::setContainerPtr ( const blContainerType & container)
inline

Definition at line 289 of file blIterator.hpp.

◆ size()

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
size_t blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::size ( ) const
inline

Definition at line 407 of file blIterator.hpp.

Member Data Documentation

◆ m_containerPtr

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
blContainerPtr blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::m_containerPtr
private

Definition at line 69 of file blIterator.hpp.

◆ m_ptr

template<typename blContainerType , typename blAdvanceDistanceFunctorType , typename blBeginEndFunctorType >
iterator blIterator< blContainerType, blAdvanceDistanceFunctorType, blBeginEndFunctorType >::m_ptr
private

Definition at line 64 of file blIterator.hpp.


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