CrystalSpace

Public API Reference

csList< T >::Iterator Class Reference

Iterator for the list. More...

#include <csutil/list.h>

List of all members.

Public Member Functions

void Clear ()
 Set iterator to non-existent element. HasCurrent() will return false.
T & FetchCurrent () const
 Return current element.
T & FetchNext () const
 Return next element but don't modify iterator.
T & FetchPrev () const
T & FetchPrevious () const
 Return previous element but don't modify iterator.
bool HasCurrent () const
 Test if the Iterator is set to a valid element.
bool HasNext () const
 Test if there is a next element.
bool HasPrevious () const
 Test if there is a previous element.
bool IsFirst () const
 Test if the Iterator is set to the first element.
bool IsLast () const
 Test if the Iterator is set to the last element.
bool IsReverse () const
 Test if the iterator is reversed.
 Iterator (const csList< T > &list, bool reverse=false)
 Constructor.
 Iterator (const Iterator &r)
 Copy constructor.
 Iterator ()
 Constructor.
T & Next ()
 Advance to next element and return it.
T & operator * () const
 Dereference operator (*).
 operator T * () const
 Cast operator.
Iteratoroperator++ ()
 Advance to next element and return it.
Iteratoroperator-- ()
 Backup to previous element and return it.
T * operator-> () const
 Dereference operator (->).
Iteratoroperator= (const Iterator &r)
 Assignment operator.
T & Prev ()
T & Previous ()
 Backup to previous element and return it.

Protected Member Functions

 Iterator (csListElement *element, bool visit=true, bool rev=false)

Friends

class csList< T >


Detailed Description

template<class T>
class csList< T >::Iterator

Iterator for the list.

Definition at line 72 of file list.h.


Constructor & Destructor Documentation

template<class T>
csList< T >::Iterator::Iterator (  )  [inline]

Constructor.

Definition at line 76 of file list.h.

template<class T>
csList< T >::Iterator::Iterator ( const Iterator r  )  [inline]

Copy constructor.

Definition at line 79 of file list.h.

References csList< T >::Iterator::ptr, csList< T >::Iterator::reversed, and csList< T >::Iterator::visited.

template<class T>
csList< T >::Iterator::Iterator ( const csList< T > &  list,
bool  reverse = false 
) [inline]

Constructor.

Definition at line 82 of file list.h.

References csList< T >::head, and csList< T >::tail.


Member Function Documentation

template<class T>
void csList< T >::Iterator::Clear (  )  [inline]

Set iterator to non-existent element. HasCurrent() will return false.

Definition at line 121 of file list.h.

template<class T>
T& csList< T >::Iterator::FetchCurrent (  )  const [inline]

Return current element.

Warning! Assumes there is a current element!

Definition at line 167 of file list.h.

References CS_ASSERT, and csList< T >::csListElement::data.

template<class T>
T& csList< T >::Iterator::FetchNext (  )  const [inline]

Return next element but don't modify iterator.

Warning! Assumes there is a next element!

Definition at line 176 of file list.h.

References CS_ASSERT, csList< T >::csListElement::data, and csList< T >::csListElement::next.

template<class T>
T& csList< T >::Iterator::FetchPrevious (  )  const [inline]

Return previous element but don't modify iterator.

Warning! Assumes there is a previous element!

Definition at line 185 of file list.h.

References CS_ASSERT, csList< T >::csListElement::data, and csList< T >::csListElement::prev.

Referenced by csList< T >::Iterator::FetchPrev().

template<class T>
bool csList< T >::Iterator::HasCurrent (  )  const [inline]

Test if the Iterator is set to a valid element.

Definition at line 92 of file list.h.

Referenced by csList< T >::Delete(), csList< T >::InsertAfter(), csList< T >::InsertBefore(), csList< T >::MoveAfter(), and csList< T >::MoveBefore().

template<class T>
bool csList< T >::Iterator::HasNext (  )  const [inline]

Test if there is a next element.

Definition at line 95 of file list.h.

References csList< T >::csListElement::next.

template<class T>
bool csList< T >::Iterator::HasPrevious (  )  const [inline]

Test if there is a previous element.

Definition at line 98 of file list.h.

References csList< T >::csListElement::prev.

template<class T>
bool csList< T >::Iterator::IsFirst (  )  const [inline]

Test if the Iterator is set to the first element.

Definition at line 101 of file list.h.

References csList< T >::csListElement::prev.

template<class T>
bool csList< T >::Iterator::IsLast (  )  const [inline]

Test if the Iterator is set to the last element.

Definition at line 104 of file list.h.

References csList< T >::csListElement::next.

template<class T>
bool csList< T >::Iterator::IsReverse (  )  const [inline]

Test if the iterator is reversed.

Definition at line 107 of file list.h.

Referenced by csList< T >::Delete().

template<class T>
T& csList< T >::Iterator::Next (  )  [inline]

Advance to next element and return it.

Definition at line 127 of file list.h.

References CS_ASSERT, csList< T >::csListElement::data, and csList< T >::csListElement::next.

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

Dereference operator (*).

Definition at line 114 of file list.h.

References CS_ASSERT, and csList< T >::csListElement::data.

template<class T>
csList< T >::Iterator::operator T * (  )  const [inline]

Cast operator.

Definition at line 111 of file list.h.

References csList< T >::csListElement::data.

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

Advance to next element and return it.

Definition at line 147 of file list.h.

References csList< T >::csListElement::next.

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

Backup to previous element and return it.

Definition at line 155 of file list.h.

References csList< T >::csListElement::prev.

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

Dereference operator (->).

Definition at line 117 of file list.h.

References csList< T >::csListElement::data.

template<class T>
Iterator& csList< T >::Iterator::operator= ( const Iterator r  )  [inline]

Assignment operator.

Definition at line 89 of file list.h.

References csList< T >::Iterator::ptr, csList< T >::Iterator::reversed, and csList< T >::Iterator::visited.

template<class T>
T& csList< T >::Iterator::Previous (  )  [inline]

Backup to previous element and return it.

Definition at line 136 of file list.h.

References CS_ASSERT, csList< T >::csListElement::data, and csList< T >::csListElement::prev.

Referenced by csList< T >::Iterator::Prev().


The documentation for this class was generated from the following file:
Generated for Crystal Space 1.0.2 by doxygen 1.4.7