List< T > Class Template Reference

#include <List.h>

List of all members.

Public Member Functions

T * addFirst (T *t)
 Add an element at the list's beginning.
T * addLast (T *t)
 Add an element at the list's end.
T * add (T *t)
 Add an element at the list's end.
T * insertBefore (T *item, T *elem)
 Insert an element before a given element.
T * insertAfter (T *item, T *elem)
 Insert an element after a given element.
T * removeFirst ()
 Remove the first element.
T * removeLast ()
 Remove the last element.
void clearAll ()
 Remove and delete all elements from the receiver.
void clear ()
 Empty the receiver list without freeing the memory of the list elements.
T * remove (T *i)
 Remove an element.
T * remove (ListItem< T > *victim)
 Remove an element using a cursor.
T * getNth (int n) const
 Return the nth element of the list.
ListItem< T > * position (T *t) const
 Return the position of a given element.
int index (T *t) const
 Return the index of a given element.
T * first () const
 Return the first element.
T * last () const
 Return the last element.
T * overwriteNth (int n, T *t)
 Replace the nth element with a given one.
int trim (int n)
 Remove the n elements from the end of the receiver.
int size () const
 Get the element count of the list.
int empty () const
 Check whether the list is empty.
 List ()
 Default constructor.
 ~List ()
 Destructor (deletes all elements of the list).

Protected Attributes

ListItem< T > * head
ListItem< T > * tail

Friends

class ListCursor< T >

template<class T>
class List< T >


Constructor & Destructor Documentation

template<class T>
List< T >::List (  )  [inline]

Default constructor.

template<class T>
List< T >::~List (  )  [inline]

Destructor (deletes all elements of the list).


Member Function Documentation

template<class T>
T* List< T >::addFirst ( T *  t  )  [inline]

Add an element at the list's beginning.

Parameters:
t a pointer to an instance to be added.
Returns:
the same pointer t

template<class T>
T* List< T >::addLast ( T *  t  )  [inline]

Add an element at the list's end.

Parameters:
t a pointer to an instance to be added.
Returns:
the same pointer t

template<class T>
T* List< T >::add ( T *  t  )  [inline]

Add an element at the list's end.

Parameters:
t a pointer to an instance to be added.
Returns:
the same pointer t

template<class T>
T* List< T >::insertBefore ( T *  item,
T *  elem 
) [inline]

Insert an element before a given element.

Parameters:
newElement the element to add.
element a pointer to an element of the list. If the receiver does not contain such an element, then item is appended to the list.

template<class T>
T* List< T >::insertAfter ( T *  item,
T *  elem 
) [inline]

Insert an element after a given element.

Parameters:
newElement the element to add.
element a pointer to an element of the list. If the receiver does not contain such an element, then item is appended to the list.

template<class T>
T* List< T >::removeFirst (  )  [inline]

Remove the first element.

Returns:
a pointer to the removed element or 0 if the list is empty.

template<class T>
T* List< T >::removeLast (  )  [inline]

Remove the last element.

Returns:
a pointer to the removed item or 0 if the list is empty.

template<class T>
void List< T >::clearAll (  )  [inline]

Remove and delete all elements from the receiver.

template<class T>
void List< T >::clear (  )  [inline]

Empty the receiver list without freeing the memory of the list elements.

template<class T>
T* List< T >::remove ( T *  i  )  [inline]

Remove an element.

Parameters:
item a pointer to a list item.
Returns:
the pointer to the given item, or 0 if the receiver does not contain item.

template<class T>
T* List< T >::remove ( ListItem< T > *  victim  )  [inline]

Remove an element using a cursor.

Note: The cursor is invalid after this operation!

Parameters:
item a pointer to a list cursor.
Returns:
the pointer to the removed item.

template<class T>
T* List< T >::getNth ( int  n  )  const [inline]

Return the nth element of the list.

Parameters:
n points to the elements (starting from 0) to return.
Returns:
a pointer to a list item, or 0 if the list does contain less than n elements.

template<class T>
ListItem<T>* List< T >::position ( T *  t  )  const [inline]

Return the position of a given element.

Parameters:
element a pointer to a list element.
Returns:
the list item holding the given element, or 0 if element is not part of the list.

template<class T>
int List< T >::index ( T *  t  )  const [inline]

Return the index of a given element.

Parameters:
element a pointer to a list element.
Returns:
the index (counted from 0) of element within the receiver. If the receiver does not contain element, then -1 is returned.

template<class T>
T* List< T >::first (  )  const [inline]

Return the first element.

Returns:
the pointer to the first element, or 0 if the receiver is empty.

template<class T>
T* List< T >::last (  )  const [inline]

Return the last element.

Returns:
the pointer to the last element, or 0 if the receiver is empty.

template<class T>
T* List< T >::overwriteNth ( int  n,
T *  t 
) [inline]

Replace the nth element with a given one.

Parameters:
n the index of the element to replace (counted from 0).
element a pointer to an element.
Returns:
the pointer to the new element at index n, or 0 if the receiver contains less than n elements.

template<class T>
int List< T >::trim ( int  n  )  [inline]

Remove the n elements from the end of the receiver.

Parameters:
n the number of elements to be removed.
Returns:
the count of successfully removed elements.

template<class T>
int List< T >::size (  )  const [inline]

Get the element count of the list.

Returns:
the receiver's size.

template<class T>
int List< T >::empty (  )  const [inline]

Check whether the list is empty.

Returns:
a value != 0, if the list is empty. A value of 0, if the list is not empty.


Friends And Related Function Documentation

template<class T>
friend class ListCursor< T > [friend]


Member Data Documentation

template<class T>
ListItem<T>* List< T >::head [protected]

template<class T>
ListItem<T>* List< T >::tail [protected]


The documentation for this class was generated from the following file:

Generated on Fri May 29 22:36:54 2009 for AGENT++ by  doxygen 1.5.6