Classic iterator implementation with operator++, operator–, operator*.
More...
#include <eC_TList_Iterators.h>
|
typedef ListNode< T > | Node |
| typedef for node
|
|
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:
◆ eC_TIterator() [1/3]
Default constructor, used to initialize an invalid iterator.
◆ eC_TIterator() [2/3]
Constructs an iterator with the given node.
- Parameters
-
pNode | The node that the new iterator points to. |
◆ eC_TIterator() [3/3]
◆ GetNode()
Get this node as a pointer
- Returns
- Node Pointer to this node
◆ IsInsideList()
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()
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!=()
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
-
kIter | What to compare with |
◆ operator*()
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]
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]
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]
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]
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=()
Assignment operator is used to initialize with GetBegin(), GetEnd() and GetFind() e.g. myIterator=myList.GetBegin()
- Parameters
-
- Returns
- eC_TIterator& to this node after assignment
◆ operator==() [1/2]
Equivalence operator is used to compare with GetBegin(), GetEnd(), and GetFind(Value) e.g. "if (myIterator==myList.GetBegin())"
- Parameters
-
kIter | What to compare with |
- Returns
- eC_Bool True if identical, False otherwise
◆ operator==() [2/2]
Used to compare iterator and node pointer, e.g. if (iter == NULL).
- Returns
- True, if iterator points to node.
-
False else.
- Parameters
-
ptrNode | What to compare with |
◆ m_pNode
The documentation for this class was generated from the following file: