Shadowrun: Awakened 29 September 2011 - Build 871
Public Member Functions | Private Attributes | Static Private Attributes | Friends
cat::sphynx::CollexionIterator< T > Class Template Reference

#include <SphynxCollexion.hpp>

List of all members.

Public Member Functions

 CollexionIterator (Collexion< T > &begin)
CAT_INLINE TGet () throw ()
CAT_INLINE operator T * ()
CAT_INLINE Toperator* () throw ()
CollexionIteratoroperator++ ()
CAT_INLINE Toperator-> () throw ()
void Release ()
 ~CollexionIterator ()

Private Attributes

T_cache [MAX_CACHE]
u32 _first
u32 _last
u32 _offset
Collexion< T > * _parent
u32 _prev_allocated
u32 _total

Static Private Attributes

static const u32 MAX_CACHE = 256

Friends

class Collexion< T >

Detailed Description

template<class T>
class cat::sphynx::CollexionIterator< T >

Definition at line 191 of file SphynxCollexion.hpp.


Constructor & Destructor Documentation

template<class T >
cat::sphynx::CollexionIterator< T >::CollexionIterator ( Collexion< T > &  begin)

Definition at line 668 of file SphynxCollexion.hpp.

References cat::sphynx::Collexion< T >::Begin().

{
    begin.Begin(*this);
}
template<class T >
cat::sphynx::CollexionIterator< T >::~CollexionIterator ( )

Definition at line 674 of file SphynxCollexion.hpp.

{
    Release();
}

Member Function Documentation

template<class T>
CAT_INLINE T* cat::sphynx::CollexionIterator< T >::Get ( ) throw () [inline]
template<class T>
CAT_INLINE cat::sphynx::CollexionIterator< T >::operator T * ( ) [inline]
template<class T>
CAT_INLINE T& cat::sphynx::CollexionIterator< T >::operator* ( ) throw () [inline]
template<class T >
CollexionIterator< T > & cat::sphynx::CollexionIterator< T >::operator++ ( )

Definition at line 680 of file SphynxCollexion.hpp.

{
    if (++_offset >= _total)
    {
        _parent->Next(*this, true);
    }

    return *this;
}
template<class T>
CAT_INLINE T* cat::sphynx::CollexionIterator< T >::operator-> ( ) throw () [inline]
template<class T >
void cat::sphynx::CollexionIterator< T >::Release ( )

Definition at line 691 of file SphynxCollexion.hpp.

{
    if (_parent)
    {
        _parent->Next(*this, false);
        _parent = 0;
    }
}

Friends And Related Function Documentation

template<class T>
friend class Collexion< T > [friend]

Definition at line 193 of file SphynxCollexion.hpp.


Member Data Documentation

template<class T>
T* cat::sphynx::CollexionIterator< T >::_cache[MAX_CACHE] [private]
template<class T>
u32 cat::sphynx::CollexionIterator< T >::_first [private]
template<class T>
u32 cat::sphynx::CollexionIterator< T >::_last [private]
template<class T>
u32 cat::sphynx::CollexionIterator< T >::_offset [private]
template<class T>
Collexion<T>* cat::sphynx::CollexionIterator< T >::_parent [private]

Definition at line 198 of file SphynxCollexion.hpp.

Referenced by cat::sphynx::Collexion< T >::Begin().

template<class T>
u32 cat::sphynx::CollexionIterator< T >::_prev_allocated [private]
template<class T>
u32 cat::sphynx::CollexionIterator< T >::_total [private]
template<class T>
const u32 cat::sphynx::CollexionIterator< T >::MAX_CACHE = 256 [static, private]

Definition at line 195 of file SphynxCollexion.hpp.


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

Copyright © 2007-2010 by The Shadowrun: Awakened Team. This work is licensed under the GNU Lesser General Public License 3.

GNU Lesser General Public License 3 Sourceforge.net