#include <List.H>
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 > |
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.
ListIterator< T >::ListIterator | ( | const ListIterator< T > & | rhs | ) | [inline] |
The copy constructor.
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>.
ListIterator< T >::ListIterator | ( | ) | [private] |
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.
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.
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.
T & ListIterator< T >::operator() | ( | ) | [inline] |
References CH_assert, and ListIterator< T >::p.
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.
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().
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().
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.
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.
const T& ListIterator< T >::value | ( | ) |
Return a constant reference to the object in the List<T> currently pointed to by the iterator.
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.
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.
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.
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.
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!=().
bool ListIterator< T >::operator!= | ( | const ListIterator< T > & | _li | ) | const [inline] |
ListIterator<T>& ListIterator< T >::operator= | ( | const ListIterator< T > & | ) | [private] |
friend class List< T > [friend] |
const List<T>& ListIterator< T >::list [protected] |
A reference to the List<T> to which we point.
Referenced by ListIterator< T >::begin(), ListIterator< T >::ListIterator(), ListIterator< T >::operator==(), ListIterator< T >::rewind(), and List< T >::transfer().
ListLink<T>* ListIterator< T >::p [protected] |
A pointer to the element in the List<T> to which we point.
Referenced by List< T >::addAfter(), List< T >::addBefore(), ListIterator< T >::begin(), List< T >::checkLinks(), List< T >::clear(), ListIterator< T >::ListIterator(), ListIterator< T >::ok(), ListIterator< T >::operator!(), ListIterator< T >::operator()(), ListIterator< T >::operator*(), ListIterator< T >::operator++(), ListIterator< T >::operator--(), ListIterator< T >::operator==(), List< T >::operator[](), List< T >::remove(), List< T >::replace(), ListIterator< T >::rewind(), List< T >::sort(), List< T >::transfer(), and ListIterator< T >::value().