DataStructures::List< list_type > Class Template Reference

Array based implementation of a list. More...

#include <DS_List.h>

List of all members.

Public Member Functions

 List ()
 Default constructor.
 ~List ()
 Destructor.
 List (const List &original_copy)
Listoperator= (const List &original_copy)
 Assign one list to another.
list_type & operator[] (const unsigned int position) const
list_type & Get (const unsigned int position) const
void Push (const list_type input, const char *file=__FILE__, unsigned int line=__LINE__)
list_type & Pop (void)
void Insert (const list_type input, const unsigned int position, const char *file=__FILE__, unsigned int line=__LINE__)
void Insert (const list_type input, const char *file=__FILE__, unsigned int line=__LINE__)
void Replace (const list_type input, const list_type filler, const unsigned int position)
void Replace (const list_type input)
void RemoveAtIndex (const unsigned int position)
void RemoveAtIndexFast (const unsigned int position)
void RemoveFromEnd (const unsigned num=1)
 Delete the element at the end of the list.
unsigned int GetIndexOf (const list_type input) const
unsigned int Size (void) const
void Clear (bool doNotDeallocateSmallBlocks=false)
 Clear the list.
void Compress (void)


Detailed Description

template<class list_type>
class DataStructures::List< list_type >

Array based implementation of a list.

Note:
ONLY USE THIS FOR SHALLOW COPIES. I don't bother with operator= to improve performance.

Constructor & Destructor Documentation

template<class list_type >
DataStructures::List< list_type >::List ( const List< list_type > &  original_copy  )  [inline]

Copy constructor

Parameters:
[in] original_copy The list to duplicate


Member Function Documentation

template<class list_type >
void DataStructures::List< list_type >::Compress ( void   )  [inline]

Frees overallocated members, to use the minimum memory necessary

Attention:
This is a slow operation

template<class list_type >
list_type & DataStructures::List< list_type >::Get ( const unsigned int  position  )  const [inline]

Access an element by its index in the array

Parameters:
[in] position The index into the array.
Returns:
The element at position position.

template<class list_type >
unsigned int DataStructures::List< list_type >::GetIndexOf ( const list_type  input  )  const [inline]

Returns the index of the specified item or MAX_UNSIGNED_LONG if not found

Parameters:
[in] input The element to check for
Returns:
The index or position of input in the list.
Return values:
MAX_UNSIGNED_LONG The object is not in the list
[Integer] The index of the element in the list

template<class list_type >
void DataStructures::List< list_type >::Insert ( const list_type  input,
const char *  file = __FILE__,
unsigned int  line = __LINE__ 
) [inline]

Insert at the end of the list.

Parameters:
[in] input The new element.

template<class list_type >
void DataStructures::List< list_type >::Insert ( const list_type  input,
const unsigned int  position,
const char *  file = __FILE__,
unsigned int  line = __LINE__ 
) [inline]

Insert an element at position position in the list

Parameters:
[in] input The new element.
[in] position The position of the new element.

template<class list_type >
list_type & DataStructures::List< list_type >::operator[] ( const unsigned int  position  )  const [inline]

Access an element by its index in the array

Parameters:
[in] position The index into the array.
Returns:
The element at position position.

template<class list_type >
list_type & DataStructures::List< list_type >::Pop ( void   )  [inline]

Pop an element from the end of the stack

Precondition:
Size()>0
Returns:
The element at the end.

template<class list_type >
void DataStructures::List< list_type >::Push ( const list_type  input,
const char *  file = __FILE__,
unsigned int  line = __LINE__ 
) [inline]

Push an element at the end of the stack

Parameters:
[in] input The new element.

template<class list_type >
void DataStructures::List< list_type >::RemoveAtIndex ( const unsigned int  position  )  [inline]

Delete the element at position position.

Parameters:
[in] position The index of the element to delete

template<class list_type >
void DataStructures::List< list_type >::RemoveAtIndexFast ( const unsigned int  position  )  [inline]

Delete the element at position position.

Note:
- swaps middle with end of list, only use if list order does not matter
Parameters:
[in] position The index of the element to delete

template<class list_type >
void DataStructures::List< list_type >::Replace ( const list_type  input  )  [inline]

Replace the last element of the list by input .

Parameters:
[in] input The element used to replace the last element.

template<class list_type >
void DataStructures::List< list_type >::Replace ( const list_type  input,
const list_type  filler,
const unsigned int  position 
) [inline]

Replace the value at position by input. If the size of the list is less than position, it increase the capacity of the list and fill slot with filler.

Parameters:
[in] input The element to replace at position position.
[in] filler The element use to fill new allocated capacity.
[in] position The position of input in the list.

template<class list_type >
unsigned int DataStructures::List< list_type >::Size ( void   )  const [inline]

Returns:
The number of elements in the list


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

Generated on Thu Apr 30 08:06:51 2009 for RakNet by  doxygen 1.5.7.1