ListIterator< T > Class Template Reference

#include <List.H>

List of all members.


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.

Public Member Functions

 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 Member Functions

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

Protected Attributes

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

Private Member Functions

 ListIterator ()
ListIterator< T > & operator= (const ListIterator< T > &)

Friends

class List< T >


Constructor & Destructor Documentation

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

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

References ListIterator< T >::list, and ListIterator< T >::p.

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>.

template<class T>
ListIterator< T >::ListIterator (  )  [private]


Member Function Documentation

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

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

References ListIterator< T >::list, and ListIterator< T >::p.

Referenced by BinFab< T >::addItems(), and BinFab< T >::addItemsDestructive().

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.

References ListIterator< T >::list, and ListIterator< T >::p.

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>.

References CH_assert, and ListIterator< T >::p.

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

References CH_assert, and ListIterator< T >::p.

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>.

References CH_assert, and ListIterator< T >::p.

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.

References ListIterator< T >::ok().

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.

References ListIterator< T >::p.

Referenced by ListIterator< T >::operator bool().

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

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

References ListIterator< T >::p.

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.

References CH_assert, and ListIterator< T >::p.

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>
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.

References ListIterator< T >::p.

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.

References ListIterator< T >::p.

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++ ( 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>
bool ListIterator< T >::operator== ( const ListIterator< T > &  _li  )  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>?

References ListIterator< T >::list, and ListIterator< T >::p.

Referenced by ListIterator< T >::operator!=().

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

Are the ListIterator<T>s not equal?

References ListIterator< T >::operator==().

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


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]

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


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

Generated on Wed May 24 03:27:14 2017 for Chombo + EB + MF by  doxygen 1.5.5