Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

ReferenceList Class Template Reference

#include <Reference.h>

Inheritance diagram for ReferenceList:

Reference List of all members.

template<class ELEMENTTYPE>
class toolbox::ReferenceList< ELEMENTTYPE >


Public Member Functions

void Append (ELEMENTTYPE *Element)
 Appends an element to the array.

void AppendAll (const ArrayList< ELEMENTTYPE > *Elements)
 Appends all elements of another array list to this one.

bool Contains (const ELEMENTTYPE *Element, int(*compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2)) const
 Returns whether a given element is contained in this array.

bool Contains (const ELEMENTTYPE *Element) const
 Returns whether a given element is contained in this array.

int Find (const ELEMENTTYPE *Element, int(*compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2)) const
 Returns the 0-indexed position of a given element within the array list.

int Find (const ELEMENTTYPE *Element) const
 Returns the 0-indexed position of a given element within the array list.

ELEMENTTYPE * Get (long nr) const
 Returns the element at a given position.

long GetCount () const
 Returns the number of used array cells.

int GetDesiredFillRatio () const
 Returns the fill ratio after an array resize.

int GetFillRatio () const
 Returns the current fill ratio.

ELEMENTTYPE * GetFirst () const
 Returns the first element of the array.

ELEMENTTYPE * GetLast () const
 Returns the last element of the array.

int GetMinimumFillRatio () const
 Returns the minimum fill ratio for the array.

void * GetReferrer () const
void Insert (const ELEMENTTYPE *Element, long nr)
 Inserts an element before a given position.

void InsertAll (const ArrayList< ELEMENTTYPE > *Elements, long nr)
 Inserts all elements of another array list before a given position.

bool IsEmpty () const
 Returns, whether there are no elements in the array.

void Prepend (const ELEMENTTYPE *Element)
 Prepends an element to the array.

void PrependAll (const ArrayList< ELEMENTTYPE > *Elements)
 Prepends all elements of another array list to this one.

 ReferenceList (long initSize, int minimumFillRatio, int desiredFillRatio)
 Creates a new array.

 ReferenceList (long initSize)
 Creates a new array.

 ReferenceList ()
 Creates a new array.

bool Remove (ELEMENTTYPE *Element)
 Deletes a given element from the array.

bool Remove (long from, long count)
 Deletes multiple elements at a given range.

bool Remove (long nr)
 Deletes an element at a given position.

void RemoveAll ()
 Deletes all elements from the array.

bool RemoveFirst ()
 Deletes the first element from the array.

bool RemoveLast ()
 Deletes the last element from the array.

ELEMENTTYPE * Replace (ELEMENTTYPE *NewElement, long nr)
 Replaces an element by another one.

void Shuffle ()
 Shuffles all entries randomly.

void Sort (int(*compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2))
 Sorts the elements in the array according to a given comparison function.

void Sort ()
 Sorts the elements in the array according to the Compare method.

 ~ReferenceList ()
 Destroys the array.


Protected Member Functions

virtual void AddElement (AutoDeleting *Element)
virtual ArrayList< AutoDeleting > * GetElements () const
virtual void RemoveElement (AutoDeleting *Element)

Private Attributes

ArrayList< ELEMENTTYPE > * Elements

Static Private Attributes

const AutoDeletingParameterConstraint

Constructor & Destructor Documentation

ReferenceList  ) 
 

Creates a new array.

ReferenceList long  initSize  ) 
 

Creates a new array.

Parameters:
initSize The minimum and initial size of the array.

ReferenceList long  initSize,
int  minimumFillRatio,
int  desiredFillRatio
 

Creates a new array.

Parameters:
initSize The minimum and initial size of the array.
minimumFillRatio The minimum fill ratio for the array.
desiredFillRatio The fill ratio after an array resize.

~ReferenceList  ) 
 

Destroys the array.

When deleting the array, all contained elements are also freed.


Member Function Documentation

virtual void AddElement AutoDeleting Element  )  [protected, virtual]
 

Reimplemented from Reference.

void Append ELEMENTTYPE *  Element  ) 
 

Appends an element to the array.

Parameters:
Element The element to be appended.

void AppendAll const ArrayList< ELEMENTTYPE > *  Elements  ) 
 

Appends all elements of another array list to this one.

Warning:
The elements' memory is shared by both array lists, so one array should get its elements unlinked before destruction.
Parameters:
Elements The elements to be appended.

bool Contains const ELEMENTTYPE *  Element,
int(*  compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2)
const
 

Returns whether a given element is contained in this array.

This method uses a given compare method to compare the elements.

Note:
This method performs a linear search.
Parameters:
Element The element to be searched.
compare A functions that compares two elements and returns -1, if the first is less than the second, 0, if both elements are equal and 1, if the first is more than the second.
Returns:
Whether the element is contained.

bool Contains const ELEMENTTYPE *  Element  )  const
 

Returns whether a given element is contained in this array.

This method uses the Compare method to compare the elements.

Note:
This method performs a linear search.
Parameters:
Element The element to be searched.
Returns:
Whether the element is contained.

int Find const ELEMENTTYPE *  Element,
int(*  compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2)
const
 

Returns the 0-indexed position of a given element within the array list.

This method uses a given compare method to compare the elements.

Note:
This method performs a linear search.
Parameters:
element The element to be looked up.
compare A functions that compares two elements and returns -1, if the first is less than the second, 0, if both elements are equal and 1, if the first is more than the second.
Returns:
The 0-indexed position of the element or -1, if the element is not found.

int Find const ELEMENTTYPE *  Element  )  const
 

Returns the 0-indexed position of a given element within the array list.

This method uses the Compare method to compare the elements.

Note:
This method performs a linear search.
Parameters:
element The element to be looked up.
Returns:
The 0-indexed position of the element or -1, if the element is not found.

ELEMENTTYPE* Get long  nr  )  const
 

Returns the element at a given position.

Parameters:
nr The position of the element. If nr is invalid, the method returns NULL.
Returns:
The element at the position or NULL.

long GetCount  )  const [inline]
 

Returns the number of used array cells.

This is the number of added objects.

Returns:
The number of used array cells.

int GetDesiredFillRatio  )  const [inline]
 

Returns the fill ratio after an array resize.

Returns:
The fill ratio after an array resize.
See also:
DesiredFillRatio

virtual ArrayList<AutoDeleting>* GetElements  )  const [protected, virtual]
 

Reimplemented from Reference.

int GetFillRatio  )  const [inline]
 

Returns the current fill ratio.

Returns:
The current fill ratio.

ELEMENTTYPE* GetFirst  )  const
 

Returns the first element of the array.

If the array is empty, the method returns NULL.

Returns:
The first element or NULL.

ELEMENTTYPE* GetLast  )  const
 

Returns the last element of the array.

If the array is empty, the method returns NULL.

Returns:
The last element or NULL.

int GetMinimumFillRatio  )  const [inline]
 

Returns the minimum fill ratio for the array.

Returns:
The minimum fill ratio for the array.
See also:
MinimumFillRatio

void* GetReferrer  )  const [inline, inherited]
 

void Insert const ELEMENTTYPE *  Element,
long  nr
 

Inserts an element before a given position.

All elements at and after the position are moved by one.

Parameters:
Element The element to be inserted.
nr The position to insert before. If nr is invalid, nothing happens.

void InsertAll const ArrayList< ELEMENTTYPE > *  Elements,
long  nr
 

Inserts all elements of another array list before a given position.

All elements at and after the position are moved.

Warning:
The elements' memory is shared by both array lists, so one array should get its elements unlinked before destruction.
Parameters:
Elements The elements to be inserted.
nr The position to insert before. If nr is invalid, nothing happens.

bool IsEmpty  )  const [inline]
 

Returns, whether there are no elements in the array.

void Prepend const ELEMENTTYPE *  Element  )  [inline]
 

Prepends an element to the array.

Parameters:
Element The element to be prepended.

void PrependAll const ArrayList< ELEMENTTYPE > *  Elements  )  [inline]
 

Prepends all elements of another array list to this one.

Warning:
The elements' memory is shared by both array lists, so one array should get its elements unlinked before destruction.
Parameters:
Elements The elements to be prepended.

bool Remove ELEMENTTYPE *  Element  ) 
 

Deletes a given element from the array.

The element is searched, removed from the array and freed. If the element is not contained, nothing happens. If the element is contained multiple times, only one instance is deleted.

Parameters:
Element The element to be deleted.
Returns:
Whether the element was found.

bool Remove long  from,
long  count
 

Deletes multiple elements at a given range.

The elements are removed from the array and freed.

Parameters:
from The starting position of the range. If from is invalid, nothing happens.
count The number of elements to be removed. If count is invalid, nothing happens.
Returns:
Whether the range was found.

bool Remove long  nr  ) 
 

Deletes an element at a given position.

The element is removed from the array and freed.

Parameters:
nr The position of the element. If nr is invalid, nothing happens.
Returns:
Whether the element was found.

void RemoveAll  ) 
 

Deletes all elements from the array.

All elements are removed from the array and freed.

virtual void RemoveElement AutoDeleting Element  )  [protected, virtual]
 

Reimplemented from Reference.

bool RemoveFirst  )  [inline]
 

Deletes the first element from the array.

The element is removed from the array and freed. If the array is empty, nothing happens.

Returns:
Whether the element was found.

bool RemoveLast  ) 
 

Deletes the last element from the array.

The element is removed from the array and freed. If the array is empty, nothing happens.

Returns:
Whether the element was found.

ELEMENTTYPE* Replace ELEMENTTYPE *  NewElement,
long  nr
 

Replaces an element by another one.

The replaced element is not freed, but returned.

Parameters:
NewElement The element that replaces the old one.
nr The position of the element to be replaced. If nr is invalid, nothing happens and the method returns NULL.
Returns:
The old element.

void Shuffle  ) 
 

Shuffles all entries randomly.

void Sort int(*  compare)(const ELEMENTTYPE *Element1, const ELEMENTTYPE *Element2)  ) 
 

Sorts the elements in the array according to a given comparison function.

The whole array has a sorted order afterwards, but is not harmed at all in any other way. All elements remain the same.

Parameters:
compare A functions that compares two elements and returns -1, if the first is less than the second, 0, if both elements are equal and 1, if the first is more than the second.

void Sort  )  [inline]
 

Sorts the elements in the array according to the Compare method.

The whole array has a sorted order afterwards, but is not harmed at all in any other way. All elements remain the same.


Member Data Documentation

ArrayList<ELEMENTTYPE>* Elements [private]
 

Definition at line 100 of file Reference.h.

const AutoDeleting* ParameterConstraint [static, private]
 

Definition at line 102 of file Reference.h.


The documentation for this class was generated from the following file:
Generated on Tue Oct 3 00:23:40 2006 for ToolBox by doxygen 1.3.6