MxEngine
Public Member Functions | List of all members
MxEngine::VectorPool< T, Container >::PoolIterator Class Reference

#include <VectorPool.h>

Public Member Functions

size_t GetBase () const
 
VectorPool< T, Container > & GetPoolRef ()
 
 PoolIterator (size_t index, VectorPool< T, Container > &ref)
 
PoolIterator operator++ (int)
 
PoolIterator operator++ ()
 
PoolIterator operator-- (int)
 
PoolIterator operator-- ()
 
T * operator-> ()
 
const T * operator-> () const
 
T & operator* ()
 
const T & operator* () const
 
bool operator== (const PoolIterator &it) const
 
bool operator!= (const PoolIterator &it) const
 

Detailed Description

template<typename T, template< typename > typename Container = MxVector>
class MxEngine::VectorPool< T, Container >::PoolIterator

iterator for VectorPool class. supports increment, compare and decrement. Ignores not allocated objects, allowing user to iterate over all objects in Pool without check for IsAllocated(index)

Constructor & Destructor Documentation

§ PoolIterator()

template<typename T, template< typename > typename Container = MxVector>
MxEngine::VectorPool< T, Container >::PoolIterator::PoolIterator ( size_t  index,
VectorPool< T, Container > &  ref 
)
inline

construtc new iterator of vector Pool

Parameters
indexto the element of vector Pool (0 for begin(), Capacity() for end() methods)
poolRefreference to vector Pool

Member Function Documentation

§ operator!=()

template<typename T, template< typename > typename Container = MxVector>
bool MxEngine::VectorPool< T, Container >::PoolIterator::operator!= ( const PoolIterator it) const
inline

compares wto iterator for inequality, returns true if they point to different vector pools

Returns
false if iterators point to same object, true either

§ operator*() [1/2]

template<typename T, template< typename > typename Container = MxVector>
T& MxEngine::VectorPool< T, Container >::PoolIterator::operator* ( )
inline

dereferences iterator, accessing vector Pool

Returns
reference to vector Pool element

§ operator*() [2/2]

template<typename T, template< typename > typename Container = MxVector>
const T& MxEngine::VectorPool< T, Container >::PoolIterator::operator* ( ) const
inline

dereferences iterator, accessing vector Pool

Returns
const reference to vector Pool element

§ operator++() [1/2]

template<typename T, template< typename > typename Container = MxVector>
PoolIterator MxEngine::VectorPool< T, Container >::PoolIterator::operator++ ( int  )
inline

increments iterator until reaches end or finds next allocated object

Returns
iterator to the object before increment

§ operator++() [2/2]

template<typename T, template< typename > typename Container = MxVector>
PoolIterator MxEngine::VectorPool< T, Container >::PoolIterator::operator++ ( )
inline

increments iterator until reaches end or finds next allocated object

Returns
iterator to the object after increment

§ operator--() [1/2]

template<typename T, template< typename > typename Container = MxVector>
PoolIterator MxEngine::VectorPool< T, Container >::PoolIterator::operator-- ( int  )
inline

decrements iterator until reaches begin or finds previous allocated object

Returns
iterator to the object before increment

§ operator--() [2/2]

template<typename T, template< typename > typename Container = MxVector>
PoolIterator MxEngine::VectorPool< T, Container >::PoolIterator::operator-- ( )
inline

decrements iterator until reaches begin or finds previous allocated object

Returns
iterator to the object after increment

§ operator->() [1/2]

template<typename T, template< typename > typename Container = MxVector>
T* MxEngine::VectorPool< T, Container >::PoolIterator::operator-> ( )
inline

dereferences iterator, accessing vector Pool

Returns
pointer to vector Pool element

§ operator->() [2/2]

template<typename T, template< typename > typename Container = MxVector>
const T* MxEngine::VectorPool< T, Container >::PoolIterator::operator-> ( ) const
inline

dereferences iterator, accessing vector Pool

Returns
const pointer to vector Pool element

§ operator==()

template<typename T, template< typename > typename Container = MxVector>
bool MxEngine::VectorPool< T, Container >::PoolIterator::operator== ( const PoolIterator it) const
inline

compares two iterator for equality, returns false if they point to different vector pools

Returns
true if iterators point to same object, false either

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