OFIterator< T > Class Template Reference

iterator class for OFList. More...

List of all members.

Public Member Functions

 OFIterator ()
 default constructor.
 OFIterator (const OFIterator< T > &x)
 copy constructor
OFIterator< T > & operator= (const OFIterator< T > &x)
 copy assignment operator
OFBool operator== (const OFIterator< T > &x) const
 comparison of two iterators.
OFBool operator!= (const OFIterator< T > &x) const
 comparison of two iterators.
T & operator * () const
 dereferences the iterator.
T * operator-> () const
 dereferences the iterator.
OFIterator< T > & operator++ ()
 moves the iterator to the next element of the list.
OFIterator< T > operator++ (int)
 moves the iterator to the next element of the list.
OFIterator< T > & operator-- ()
 moves the iterator to the previous element of the list.
OFIterator< T > operator-- (int)
 moves the iterator to the previous element of the list.

Protected Member Functions

 OFIterator (OFListLinkBase *x)
 constructor.

Protected Attributes

OFListLinkBasenode
 list node referenced by the iterator

Friends

class OFList< T >


Detailed Description

template<class T>
class OFIterator< T >

iterator class for OFList.

An iterator is a generalization of a pointer and allows a C++ program to work with different containers independently from their internal structure. Instances of this template class should be declared as OFListIterator(T) instead of OFListIterator<T>. This allows to re-map OFList to the STL list class if available.

Definition at line 171 of file oflist.h.


Constructor & Destructor Documentation

template<class T>
OFIterator< T >::OFIterator ( OFListLinkBase x  )  [inline, protected]

constructor.

Parameters:
x list node referenced by the iterator

Definition at line 182 of file oflist.h.

template<class T>
OFIterator< T >::OFIterator (  )  [inline]

default constructor.

Creates an iterator referencing nothing. In general, iterators should always be copy-constructed in user code.

Definition at line 189 of file oflist.h.


Member Function Documentation

template<class T>
OFBool OFIterator< T >::operator== ( const OFIterator< T > &  x  )  const [inline]

comparison of two iterators.

The iterators are equal if and only if they reference the same element, independent from the element values.

Parameters:
x iterator to be compared
Returns:
OFTrue if equal, OFFalse otherwise.

Definition at line 208 of file oflist.h.

References OFIterator< T >::node.

template<class T>
OFBool OFIterator< T >::operator!= ( const OFIterator< T > &  x  )  const [inline]

comparison of two iterators.

The iterators are equal if and only if they reference the same element, independent from the element values.

Parameters:
x iterator to be compared
Returns:
OFTrue if not equal, OFFalse otherwise.

Definition at line 215 of file oflist.h.

References OFIterator< T >::node.

template<class T>
T& OFIterator< T >::operator * (  )  const [inline]

dereferences the iterator.

May only be called if iterator references a valid element of a list.

Returns:
reference to the element "pointed to" by the iterator.

Definition at line 221 of file oflist.h.

References OFListLinkBase::dummy, and OFIterator< T >::node.

template<class T>
T* OFIterator< T >::operator-> (  )  const [inline]

dereferences the iterator.

May only be called if iterator references a valid element of a list.

Returns:
reference to the element "pointed to" by the iterator.

Definition at line 231 of file oflist.h.

template<class T>
OFIterator<T>& OFIterator< T >::operator++ (  )  [inline]

moves the iterator to the next element of the list.

The list is circular: the first element follows after the end of the list. May only be called if iterator references a valid element or the end of a list.

Returns:
reference to the incremented iterator.

Definition at line 241 of file oflist.h.

References OFListLinkBase::next, and OFIterator< T >::node.

template<class T>
OFIterator<T> OFIterator< T >::operator++ ( int   )  [inline]

moves the iterator to the next element of the list.

The list is circular: the first element follows after the end of the list. May only be called if iterator references a valid element or the end of a list. This is the post-increment operator.

Returns:
previous iterator state, by value

Definition at line 253 of file oflist.h.

References OFListLinkBase::next, and OFIterator< T >::node.

template<class T>
OFIterator<T>& OFIterator< T >::operator-- (  )  [inline]

moves the iterator to the previous element of the list.

The list is circular: the end of the list follows before the first element. May only be called if iterator references a valid element or the end of a list.

Returns:
reference to the decremented iterator.

Definition at line 265 of file oflist.h.

References OFIterator< T >::node, and OFListLinkBase::prev.

template<class T>
OFIterator<T> OFIterator< T >::operator-- ( int   )  [inline]

moves the iterator to the previous element of the list.

The list is circular: the end of the list follows before the first element. May only be called if iterator references a valid element or the end of a list. This is the post-decremented operator.

Returns:
previous iterator state, by value

Definition at line 277 of file oflist.h.

References OFIterator< T >::node, and OFListLinkBase::prev.


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1