Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ListIterator< T > Class Template Reference

Iterator over a List. More...

#include <List.H>

Collaboration diagram for ListIterator< T >:

Collaboration graph
[legend]
List of all members.

Public Methods

 ListIterator (const List< T > &aList)
 Construct a ListIterator<T> to first element of aList.

 ListIterator (const ListIterator< T > &rhs)
 The copy constructor.

void rewind ()
 Reset this ListIterator<T> to point to the first element in the List<T>.

void begin ()
 Reset this ListIterator<T> to point to the first element in the List<T>.

const T & operator() () const
 Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>.

T & operator() ()
const T & operator * () const
 Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>.

 operator bool () const
 This is a conversion operator to makes the iterator look like a pointer.

bool ok () const
 Return true if the iterator is not past the end of the list.

bool operator! () const
 Returns true if ListIterator<T> doesn't point to any element on the List<T>.

const T & value () const
 Return a constant reference to the object in the List<T> currently pointed to by the iterator.

const T & value ()
 Return a constant reference to the object in the List<T> currently pointed to by the iterator.

ListIterator< T > & operator++ ()
 The prefix auto-increment operator.

ListIterator< T > & operator-- ()
 The prefix auto-decrement operator.

ListIterator< T > operator-- (int)
 The postfix auto-decrement operator.

ListIterator< T > operator++ (int)
 The postfix auto-increment operator.

bool operator== (const ListIterator< T > &) const
 Equality test for two ListIterator<T>s.

bool operator!= (const ListIterator< T > &) const
 Are the ListIterator<T>s not equal?


Protected Methods

 ListIterator (const List< T > &_list, ListLink< T > *_p)

Protected Attributes

const List< T > & list
ListLink< T > * p

Friends

class List< T >

Detailed Description

template<class T>
class ListIterator< T >

Iterator over a List.

The class ListIterator<T> is an iterator over class List<T>. This class does NOT provide a default constructor or an assignment operator.


Constructor & Destructor Documentation

template<class T>
ListIterator< T >::ListIterator const List< T > &    aList [inline]
 

Construct a ListIterator<T> to first element of aList.

template<class T>
ListIterator< T >::ListIterator const ListIterator< T > &    rhs [inline]
 

The copy constructor.

template<class T>
ListIterator< T >::ListIterator const List< T > &    _list,
ListLink< T > *    _p
[inline, protected]
 

Construct a ListIterator<T> to a List<T> and object in that List<T>.


Member Function Documentation

template<class T>
void ListIterator< T >::begin   [inline]
 

Reset this ListIterator<T> to point to the first element in the List<T>.

Same as rewind(), but included to be consistent with other iterators.

template<class T>
bool ListIterator< T >::ok   const [inline]
 

Return true if the iterator is not past the end of the list.

Same as bool(), but included to be consistent with other iterators.

template<class T>
const T & ListIterator< T >::operator *   const [inline]
 

Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>.

template<class T>
ListIterator< T >::operator bool   const [inline]
 

This is a conversion operator to makes the iterator look like a pointer.

This operator makes it easy to check if the iterator is pointing to an element on the List<T>. If the iterator has been moved off the List<T> or if the List<T> is empty, this conversion returns the NULL pointer.

template<class T>
bool ListIterator< T >::operator!   const [inline]
 

Returns true if ListIterator<T> doesn't point to any element on the List<T>.

template<class T>
bool ListIterator< T >::operator!= const ListIterator< T > &    const [inline]
 

Are the ListIterator<T>s not equal?

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

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

Return a constant reference to the object in the List<T> currently pointed to by this ListIterator<T>.

template<class T>
ListIterator< T > ListIterator< T >::operator++ int    [inline]
 

The postfix auto-increment operator.

This advances the ListIterator<T> to point to the next element on the List<T>. It then returns a ListIterator<T> that points to the old element to allow for chaining with other operators.

template<class T>
ListIterator< T > & ListIterator< T >::operator++   [inline]
 

The prefix auto-increment operator.

Advances the ListIterator<T> to point to the next element on the List<T>. It then returns a reference to itself to allow for chaining with other operators.

template<class T>
ListIterator< T > ListIterator< T >::operator-- int    [inline]
 

The postfix auto-decrement operator.

Moves the ListIterator<T> to point to the previous element on the List<T>. It then returns a ListIterator<T> that points to the old element to allow for chaining with other operators.

template<class T>
ListIterator< T > & ListIterator< T >::operator--   [inline]
 

The prefix auto-decrement operator.

Moves theListIterator<T> to point to the previous element on the List<T>. It then returns a reference to itself to allow for chaining with other operators.

template<class T>
bool ListIterator< T >::operator== const ListIterator< T > &    const [inline]
 

Equality test for two ListIterator<T>s.

Do the two ListIterator<T>s point to the same List<T> and the same element within the List<T>?

template<class T>
void ListIterator< T >::rewind   [inline]
 

Reset this ListIterator<T> to point to the first element in the List<T>.

template<class T>
const T& ListIterator< T >::value  
 

Return a constant reference to the object in the List<T> currently pointed to by the iterator.

template<class T>
const T & ListIterator< T >::value   const [inline]
 

Return a constant reference to the object in the List<T> currently pointed to by the iterator.


Friends And Related Function Documentation

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


Member Data Documentation

template<class T>
const List<T>& ListIterator< T >::list [protected]
 

A reference to the List<T> to which we point.

template<class T>
ListLink<T>* ListIterator< T >::p [protected]
 

A pointer to the element in the List<T> to which we point.


The documentation for this class was generated from the following file:
Generated on Wed Jan 19 17:56:15 2005 for Chombo&INSwithParticles by doxygen1.2.16