CrystalSpace

Public API Reference

Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

csList< T > Class Template Reference

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

#include <list.h>

List of all members.

Public Methods

 csList ()
 Default constructor.

 csList (const csList &other)
 Copy constructor.

 ~csList ()
 Destructor.

csList & operator= (const csList &other)
 Assignment, shallow copy.

Iterator PushFront (const T &item)
 Add an item first in list. Copy T into the listdata.

Iterator PushBack (const T &item)
 Add an item last in list. Copy T into the listdata.

void InsertBefore (Iterator &it, const T &item)
 Insert an item before the item the iterator is set to.

void InsertAfter (Iterator &it, const T &item)
 Insert an item after the item the iterator is set to.

void Delete (Iterator &it)
 Remove specific item by iterator.

void DeleteAll ()
 Empty an list.

const T & Front () const
 Return first element of the list.

const T & Last () const
 Return last element of the list.

bool PopFront ()
 Deletes the first element of the list.

bool PopBack ()
 Deletes the last element of the list.


Protected Methods

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


Detailed Description

template<class T>
class csList< T >

A lightweight template double-linked list.

This is VERY lightweight and not tested very well, as it was writen for one single purpose, and it has not been extended to be more general.

Definition at line 29 of file list.h.


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 59 of file list.h.

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

Copy constructor.

Definition at line 215 of file list.h.

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

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

Destructor.

Definition at line 67 of file list.h.

References csList< T >::DeleteAll().


Member Function Documentation

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

Remove specific item by iterator.

Definition at line 308 of file list.h.

References csList< T >::Delete(), 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 324 of file list.h.

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

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

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

Empty an list.

Definition at line 241 of file list.h.

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

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

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

Return first element of the list.

Definition at line 184 of file list.h.

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

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 294 of file list.h.

References 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 280 of file list.h.

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

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

Return last element of the list.

Definition at line 187 of file list.h.

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

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

Assignment, shallow copy.

Definition at line 227 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 200 of file list.h.

References csList< T >::Delete().

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

Deletes the first element of the list.

Definition at line 191 of file list.h.

References csList< T >::Delete().

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

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

Definition at line 255 of file list.h.

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

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

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

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

Definition at line 268 of file list.h.

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


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