CrystalSpace

Public API Reference

csList< T > Class Template Reference

A lightweight double-linked list template. More...

#include <csutil/list.h>

List of all members.

Public Member Functions

 csList (const csList< T > &other)
 Copy constructor.
 csList ()
 Default constructor.
void Delete (Iterator &it)
 Remove specific item by iterator.
void DeleteAll ()
 Empty an list.
T & Front () const
 Return first element of the list.
void InsertAfter (Iterator &it, const T &item)
 Insert an item after the item the iterator is set to.
void InsertBefore (Iterator &it, const T &item)
 Insert an item before the item the iterator is set to.
bool IsEmpty () const
T & Last () const
 Return last element of the list.
void MoveAfter (const Iterator &it, const Iterator &item)
 Move an item (as iterator) after the item the iterator is set to.
void MoveBefore (const Iterator &it, const Iterator &item)
 Move an item (as iterator) before the item the iterator is set to.
csListoperator= (const csList< T > &other)
 Assignment, shallow copy.
bool PopBack ()
 Deletes the last element of the list.
bool PopFront ()
 Deletes the first element of the list.
Iterator PushBack (const T &item)
 Add an item last in list. Copy T into the listdata.
Iterator PushFront (const T &item)
 Add an item first in list. Copy T into the listdata.
 ~csList ()
 Destructor.

Protected Member Functions

void Delete (csListElement *el)
 Remove specific item by explicit ref.

Friends

class Iterator

Classes

struct  csListElement
 Template which describes the data stored in the linked list For example a list of ints uses csListElement<int>. More...
class  Iterator
 Iterator for the list. More...


Detailed Description

template<class T>
class csList< T >

A lightweight double-linked list template.

Copies the elements into the list for storages. Assumes that type T supports copy construction.

Definition at line 34 of file list.h.


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 62 of file list.h.

template<class T>
csList< T >::csList const csList< T > &  other  )  [inline]
 

Copy constructor.

Definition at line 269 of file list.h.

References csList< T >::csListElement::data, csList< T >::head, csList< T >::csListElement::next, and csList< T >::PushBack().

template<class T>
csList< T >::~csList  )  [inline]
 

Destructor.

Definition at line 68 of file list.h.


Member Function Documentation

template<class T>
void csList< T >::Delete Iterator it  )  [inline]
 

Remove specific item by iterator.

Definition at line 424 of file list.h.

References CS_ASSERT, csList< T >::Delete(), csList< T >::Iterator::HasCurrent(), csList< T >::Iterator::IsReverse(), and csList< T >::Iterator::ptr.

template<class T>
void csList< T >::Delete csListElement el  )  [inline, protected]
 

Remove specific item by explicit ref.

Definition at line 439 of file list.h.

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

Referenced by csList< T >::Delete(), csList< iEventHandler * >::PopBack(), and csList< iEventHandler * >::PopFront().

template<class T>
void csList< T >::DeleteAll  )  [inline]
 

Empty an list.

Definition at line 295 of file list.h.

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

Referenced by csList< T >::operator=(), and csList< iEventHandler * >::~csList().

template<class T>
T& csList< T >::Front  )  const [inline]
 

Return first element of the list.

Definition at line 232 of file list.h.

template<class T>
void csList< T >::InsertAfter Iterator it,
const T &  item
[inline]
 

Insert an item after the item the iterator is set to.

Definition at line 334 of file list.h.

References CS_ASSERT, csList< T >::Iterator::HasCurrent(), csList< T >::csListElement::next, csList< T >::csListElement::prev, and csList< T >::Iterator::ptr.

template<class T>
void csList< T >::InsertBefore Iterator it,
const T &  item
[inline]
 

Insert an item before the item the iterator is set to.

Definition at line 349 of file list.h.

References CS_ASSERT, csList< T >::Iterator::HasCurrent(), csList< T >::csListElement::next, csList< T >::csListElement::prev, and csList< T >::Iterator::ptr.

template<class T>
T& csList< T >::Last  )  const [inline]
 

Return last element of the list.

Definition at line 235 of file list.h.

template<class T>
void csList< T >::MoveAfter const Iterator it,
const Iterator item
[inline]
 

Move an item (as iterator) after the item the iterator is set to.

Definition at line 364 of file list.h.

References CS_ASSERT, csList< T >::Iterator::HasCurrent(), csList< T >::csListElement::next, csList< T >::csListElement::prev, and csList< T >::Iterator::ptr.

template<class T>
void csList< T >::MoveBefore const Iterator it,
const Iterator item
[inline]
 

Move an item (as iterator) before the item the iterator is set to.

Definition at line 394 of file list.h.

References CS_ASSERT, csList< T >::Iterator::HasCurrent(), csList< T >::csListElement::next, csList< T >::csListElement::prev, and csList< T >::Iterator::ptr.

template<class T>
csList< T > & csList< T >::operator= const csList< T > &  other  )  [inline]
 

Assignment, shallow copy.

Definition at line 281 of file list.h.

References csList< T >::csListElement::data, csList< T >::DeleteAll(), csList< T >::head, csList< T >::csListElement::next, and csList< T >::PushBack().

template<class T>
bool csList< T >::PopBack  )  [inline]
 

Deletes the last element of the list.

Definition at line 248 of file list.h.

template<class T>
bool csList< T >::PopFront  )  [inline]
 

Deletes the first element of the list.

Definition at line 239 of file list.h.

template<class T>
typename_qualifier csList< T >::Iterator csList< T >::PushBack const T &  item  )  [inline]
 

Add an item last in list. Copy T into the listdata.

Definition at line 309 of file list.h.

References csList< T >::Iterator, and csList< T >::csListElement::next.

Referenced by csList< T >::csList(), and csList< T >::operator=().

template<class T>
typename_qualifier csList< T >::Iterator csList< T >::PushFront const T &  item  )  [inline]
 

Add an item first in list. Copy T into the listdata.

Definition at line 322 of file list.h.

References csList< T >::Iterator, and csList< T >::csListElement::prev.


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