Guiliani  Version 2.6 revision 7293 (documentation build 12)
eC_TIterator< T > Class Template Reference

Classic iterator implementation with operator++, operator–, operator*. More...

#include <eC_TList_Iterators.h>

Inheritance diagram for eC_TIterator< T >:

Public Member Functions

 eC_TIterator ()
 
 eC_TIterator (const eC_TIterator< T > &x)
 
 eC_TIterator (Node *pNode)
 
virtual ~eC_TIterator ()
 Destructor.
 
virtual eC_Bool IsInsideList () const
 
eC_Bool IsValid () const
 
eC_Bool operator!= (const eC_TIterator &kIter) const
 
T & operator* ()
 
eC_TIteratoroperator++ ()
 
eC_TIterator operator++ (int)
 
eC_TIteratoroperator-- ()
 
eC_TIterator operator-- (int)
 
eC_TIteratoroperator= (const eC_TIterator &kIter)
 
eC_Bool operator== (const eC_TIterator &kIter) const
 
eC_Bool operator== (const Node *const ptrNode) const
 

Protected Types

typedef ListNode< T > Node
 typedef for node
 

Protected Member Functions

NodeGetNode () const
 

Protected Attributes

Nodem_pNode
 this node More...
 

Friends

class eC_TListDoubleLinked< T >
 for private access
 
class eC_TSafeIterator< T >
 for private access
 

Detailed Description

template<class T>
class eC_TIterator< T >

Classic iterator implementation with operator++, operator–, operator*.

Example for creating an iterator:

Classic iterator implementation with operator++, operator–, operator*.
Definition: eC_TList_Iterators.h:36

Use the following methods for initializing an iterator:

Constructor & Destructor Documentation

◆ eC_TIterator() [1/3]

template<class T >
eC_TIterator< T >::eC_TIterator ( )
inline

Default constructor, used to initialize an invalid iterator.

◆ eC_TIterator() [2/3]

template<class T >
eC_TIterator< T >::eC_TIterator ( Node pNode)
inline

Constructs an iterator with the given node.

Parameters
pNodeThe node that the new iterator points to.

◆ eC_TIterator() [3/3]

template<class T >
eC_TIterator< T >::eC_TIterator ( const eC_TIterator< T > &  x)
inline

Copy constructor e.g. eC_TIterator myIterator; eC_TIterator myIterator2 = myIterator;

Parameters
xWhere to copy from

Member Function Documentation

◆ GetNode()

template<class T >
Node * eC_TIterator< T >::GetNode ( ) const
inlineprotected

Get this node as a pointer

Returns
Node Pointer to this node

◆ IsInsideList()

template<class T >
virtual eC_Bool eC_TIterator< T >::IsInsideList ( ) const
inlinevirtual

Used to test if iterator is not pointing beyond list.

Returns
True, if iterator is pointing an element of the list, false if iterator is pointing in front of first or behind last list element.

Reimplemented in eC_TSafeIterator< T >, eC_TSafeIterator< CGUIObject * >, eC_TSafeIterator< CGUIAnimatedAttribute >, eC_TSafeIterator< CGUIAnimationObserver * >, eC_TSafeIterator< AnimationInfo_t >, eC_TSafeIterator< CGUIAnimation * >, eC_TSafeIterator< CGUIAnimationChain * >, eC_TSafeIterator< eC_String * >, eC_TSafeIterator< CGUICarousel::sSizeStorage >, eC_TSafeIterator< AdditionalCmd_t >, eC_TSafeIterator< CGUICommandPtr >, eC_TSafeIterator< CGUIBehaviourDecorator * >, eC_TSafeIterator< ComDevice * >, eC_TSafeIterator< DataPoolResource_t >, eC_TSafeIterator< eC_String >, eC_TSafeIterator< CGUIDirInfo * >, eC_TSafeIterator< eC_Value >, eC_TSafeIterator< CGUICompositeObject * >, eC_TSafeIterator< const CGUICompositeObject * >, eC_TSafeIterator< FactoryEntry >, eC_TSafeIterator< CGUIGeneralResourceObserver * >, eC_TSafeIterator< CGUIHotkeysBehaviour::HotKeyMap_t >, eC_TSafeIterator< ImageCacheItem_t >, eC_TSafeIterator< ImageDecoderEntry_t >, eC_TSafeIterator< CGUIEvent * >, eC_TSafeIterator< SDL_Event * >, eC_TSafeIterator< CGUIListItem * >, eC_TSafeIterator< eC_UInt >, eC_TSafeIterator< CGUISubject * >, eC_TSafeIterator< RecordedEvent >, eC_TSafeIterator< CGUIFramerateCounter * >, eC_TSafeIterator< MemoryFileInfo_t >, eC_TSafeIterator< FileHandleEntry_t >, eC_TSafeIterator< ImageResource_t >, eC_TSafeIterator< CGUIResourceManager::CGUIBackgroundImageLoader::PrefetchImage_t >, eC_TSafeIterator< CRichTextFragment >, eC_TSafeIterator< CGUIScriptedInput::ScriptedInputEvent_t >, eC_TSafeIterator< TokenEntry_t >, eC_TSafeIterator< CGUIObserver * >, eC_TSafeIterator< ExtendedString_t >, eC_TSafeIterator< CTimerCallback >, eC_TSafeIterator< NodeInfo >, eC_TSafeIterator< CGUIRect >, and eC_TSafeIterator< CSafeGUIObjectPtr * >.

◆ IsValid()

template<class T >
eC_Bool eC_TIterator< T >::IsValid ( ) const
inline

Used to test if the element the Iterator is pointing to, was removed or not. Note, you cannot continue to iterate through the list using an invalid iterator, e.g. "iterator++;" on an invalid iterator will do nothing. You also cannot dereference an iterator that is invalid.

Returns
True if iterator is valid (element was not removed), False if iterator is invalid.

◆ operator!=()

template<class T >
eC_Bool eC_TIterator< T >::operator!= ( const eC_TIterator< T > &  kIter) const
inline

Used to compare two iterators.

Returns
True, if iterators are not pointing at the same list element, False if iterators are pointing to same list element.
Parameters
kIterWhat to compare with

◆ operator*()

template<class T >
T & eC_TIterator< T >::operator* ( )
inline

Used to get reference to element, iterator is pointing at. Only works if iterator is valid (after deleting element iterator is pointing at, it is not).

Returns
Reference to element iterator is pointing at

◆ operator++() [1/2]

template<class T >
eC_TIterator & eC_TIterator< T >::operator++ ( )
inline

Used to increment iterator. Prefix version, e.g. "++iter;". Iterator is pointing to next list element.

Returns
New iterator after incrementation. Invalid iterator if beyond the end. The result (new iterator) is used when the incremented iterator ('this') is assigned or copied.

◆ operator++() [2/2]

template<class T >
eC_TIterator eC_TIterator< T >::operator++ ( int  )
inline

Used to increment iterator. Postfix version, e.g. "iter++;". Iterator is pointing to next list element. This operation is inefficient, please use prefix version.

Returns
Old iterator before incrementation. The result (old iterator) is used when the incremented iterator ('this') is assigned or copied.

◆ operator--() [1/2]

template<class T >
eC_TIterator & eC_TIterator< T >::operator-- ( )
inline

Used to decrement Iterator. Prefix version. Iterator is pointing to previous list element.

Returns
New iterator after decrementation. Invalid iterator if beyond the beginning. The result (new iterator) is used when the incremented iterator ('this') is assigned or copied.

◆ operator--() [2/2]

template<class T >
eC_TIterator eC_TIterator< T >::operator-- ( int  )
inline

Used to decrement Iterator. Postfix version, e.g. "iter--;". Iterator is pointing to previous list element. This operation is inefficient, please use prefix version.

Returns
Old iterator before incrementation. The result (old iterator) is used when the incremented iterator ('this') is assigned or copied.

◆ operator=()

template<class T >
eC_TIterator & eC_TIterator< T >::operator= ( const eC_TIterator< T > &  kIter)
inline

Assignment operator is used to initialize with GetBegin(), GetEnd() and GetFind() e.g. myIterator=myList.GetBegin()

Parameters
kIterWhere to copy from
Returns
eC_TIterator& to this node after assignment

◆ operator==() [1/2]

template<class T >
eC_Bool eC_TIterator< T >::operator== ( const eC_TIterator< T > &  kIter) const
inline

Equivalence operator is used to compare with GetBegin(), GetEnd(), and GetFind(Value) e.g. "if (myIterator==myList.GetBegin())"

Parameters
kIterWhat to compare with
Returns
eC_Bool True if identical, False otherwise

◆ operator==() [2/2]

template<class T >
eC_Bool eC_TIterator< T >::operator== ( const Node *const  ptrNode) const
inline

Used to compare iterator and node pointer, e.g. if (iter == NULL).

Returns
True, if iterator points to node.
False else.
Parameters
ptrNodeWhat to compare with

Member Data Documentation

◆ m_pNode

template<class T >
Node* eC_TIterator< T >::m_pNode
protected

this node

node


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