AGENT++  4.0.3
Public Member Functions | Protected Attributes | Friends | List of all members
List< T > Class Template Reference

#include <List.h>

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.
 
bool 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 >
 

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 >::add ( T *  t)
inline

Add an element at the list's end.

Parameters
ta pointer to an instance to be added.
Returns
the same pointer t
template<class T>
T* List< T >::addFirst ( T *  t)
inline

Add an element at the list's beginning.

Parameters
ta 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
ta pointer to an instance to be added.
Returns
the same pointer t
template<class T>
void List< T >::clear ( )
inline

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

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

Remove and delete all elements from the receiver.

template<class T>
bool 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.
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 >::getNth ( int  n) const
inline

Return the nth element of the list.

Parameters
npoints 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>
int List< T >::index ( T *  t) const
inline

Return the index of a given element.

Parameters
elementa 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 >::insertAfter ( T *  item,
T *  elem 
)
inline

Insert an element after a given element.

Parameters
newElementthe element to add.
elementa 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 >::insertBefore ( T *  item,
T *  elem 
)
inline

Insert an element before a given element.

Parameters
newElementthe element to add.
elementa 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 >::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
nthe index of the element to replace (counted from 0).
elementa 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>
ListItem<T>* List< T >::position ( T *  t) const
inline

Return the position of a given element.

Parameters
elementa 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>
T* List< T >::remove ( T *  i)
inline

Remove an element.

Parameters
itema 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
itema pointer to a list cursor.
Returns
the pointer to the removed item.
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>
int List< T >::size ( ) const
inline

Get the element count of the list.

Returns
the receiver's size.
template<class T>
int List< T >::trim ( int  n)
inline

Remove the n elements from the end of the receiver.

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

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: