The Nebula Device 3: Util::List< TYPE > Class Template Reference

The Nebula Device 3

Util::List< TYPE > Class Template Reference

#include <list.h>

Inheritance diagram for Util::List< TYPE >:

< TYPE >_map" border="0" alt="">
< TYPE >_map"> Core::RefCountedList

Detailed Description

template<class TYPE>
class Util::List< TYPE >

Implements a doubly linked list. Since list elements can be all over the place in memory, dynamic arrays are often the better choice, unless insert/remove performance is more important then traversal performance.

(C) 2006 Radon Labs GmbH


Public Member Functions

 List ()
 constructor
 List (const List< TYPE > &rhs)
 copy constructor
 ~List ()
 destructor
void operator= (const List< TYPE > &rhs)
 assignment operator
bool IsEmpty () const
 return true if the list is empty
SizeT Size () const
 get number of elements in list (slow)
void Clear ()
 clear list
void AddList (const List< TYPE > &l)
 add contents of other list to this list
Iterator AddAfter (Iterator iter, const TYPE &e)
 add element after given element
Iterator AddBefore (Iterator iter, const TYPE &e)
 add element before given element
Iterator AddFront (const TYPE &e)
 add element to beginning of list
Iterator AddBack (const TYPE &e)
 add element to end of list
TYPE RemoveFront ()
 remove first element of list
TYPE RemoveBack ()
 remove last element of list
TYPE Remove (Iterator iter)
 remove given element
TYPE & Front () const
 get first element
TYPE & Back () const
 get last element
Iterator Begin () const
 get iterator to first element
Iterator End () const
 get iterator past the last element
Iterator Find (const TYPE &e, Iterator start) const
 find element in array (slow)

Data Structures

class  Iterator
 the list iterator More...