MeVisLabToolboxReference
|
Dynamic templated vector For speed and better memory handling, the vector is an array within an array The base blocks have a BLOCKSIZE of 65535 This allows for quick expanding. More...
#include <CSOObjectVector.h>
Public Member Functions | |
CSOObjectVector (unsigned int init=0, unsigned int bs=65535) | |
Standard constructor. | |
virtual | ~CSOObjectVector () |
Standard destructor. | |
unsigned int | num () const |
Returns number of elements in the vector. | |
T * | atBoundsCheck (unsigned int pos) const |
Returns element at given position, return NULL when out of range. | |
T * | at (unsigned int pos) const |
Returns element at given position. | |
T * | firstBoundsCheck () const |
Returns first element, return NULL when out of range. | |
T * | first () const |
Returns first element. | |
T * | lastBoundsCheck () const |
Returns last element, return NULL when out of range. | |
T * | last () const |
Returns last element. | |
virtual unsigned int | append (T *elem) |
Appends element to back of vector. | |
virtual void | swap (unsigned int p1, unsigned int p2) |
Swaps two elements in vector. | |
virtual void | clear () |
Clears all internal pointers This does not delete the elements in the vector!! | |
virtual void | deleteAt (unsigned int pos) |
Deletes element at given position. | |
virtual void | deleteLast () |
Deletes last element of vector. | |
virtual int | remove (T *elem) |
Deletes element given by its pointer, search element and delete. | |
virtual int | lookup (T *elem) const |
Searches for element in vector and return its position. | |
virtual int | removeUnSwapped (T *elem) |
Deletes element given by its pointer, search element and delete, keep order of elements! | |
virtual void | destroy () |
Deletes all elements in the vector This does not reset the number of elements!! | |
virtual void | replace (T *elem, unsigned int pos) |
Replaces the given position with the given element. | |
void | reserve (unsigned int init) |
Reserves num elements, copy old ones if needed. | |
Protected Member Functions | |
virtual void | expand () |
Grows vector, add extra block of size BLOCKSIZE. | |
virtual unsigned int | appendUnsafe (T *elem) |
Appends element to back of vector, don't check on element being non-NULL Don't use this function directly!! |
Dynamic templated vector For speed and better memory handling, the vector is an array within an array The base blocks have a BLOCKSIZE of 65535 This allows for quick expanding.
Definition at line 28 of file CSOObjectVector.h.
ml::CSOObjectVector< T >::CSOObjectVector | ( | unsigned int | init = 0 , |
unsigned int | bs = 65535 |
||
) |
Standard constructor.
Definition at line 117 of file CSOObjectVector.h.
References ML_CHECK_NEW, and T.
ml::CSOObjectVector< T >::~CSOObjectVector | ( | ) | [virtual] |
Standard destructor.
Definition at line 132 of file CSOObjectVector.h.
unsigned int ml::CSOObjectVector< T >::append | ( | T * | elem | ) | [virtual] |
Appends element to back of vector.
Definition at line 182 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::sort().
unsigned int ml::CSOObjectVector< T >::appendUnsafe | ( | T * | elem | ) | [protected, virtual] |
Appends element to back of vector, don't check on element being non-NULL Don't use this function directly!!
Definition at line 199 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::insert().
T* ml::CSOObjectVector< T >::at | ( | unsigned int | pos | ) | const [inline] |
Returns element at given position.
Definition at line 43 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::remove(), and ml::CSOObjectHeap< T >::swap().
T* ml::CSOObjectVector< T >::atBoundsCheck | ( | unsigned int | pos | ) | const [inline] |
Returns element at given position, return NULL when out of range.
Definition at line 41 of file CSOObjectVector.h.
void ml::CSOObjectVector< T >::clear | ( | void | ) | [virtual] |
Clears all internal pointers This does not delete the elements in the vector!!
Definition at line 140 of file CSOObjectVector.h.
References ML_DELETE_ARRAY.
Referenced by ml::CSOObjectHeap< T >::sort(), and ml::CSOObjectHeap< T >::~CSOObjectHeap().
void ml::CSOObjectVector< T >::deleteAt | ( | unsigned int | pos | ) | [virtual] |
Deletes element at given position.
Definition at line 237 of file CSOObjectVector.h.
void ml::CSOObjectVector< T >::deleteLast | ( | ) | [virtual] |
Deletes last element of vector.
Definition at line 249 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::remove().
void ml::CSOObjectVector< T >::destroy | ( | ) | [virtual] |
Deletes all elements in the vector This does not reset the number of elements!!
Definition at line 152 of file CSOObjectVector.h.
References ML_DELETE.
Referenced by ml::deleteVector().
void ml::CSOObjectVector< T >::expand | ( | ) | [protected, virtual] |
Grows vector, add extra block of size BLOCKSIZE.
Definition at line 164 of file CSOObjectVector.h.
References ML_CHECK_NEW, ML_DELETE_ARRAY, and T.
T* ml::CSOObjectVector< T >::first | ( | ) | const [inline] |
Returns first element.
Definition at line 47 of file CSOObjectVector.h.
T* ml::CSOObjectVector< T >::firstBoundsCheck | ( | ) | const [inline] |
Returns first element, return NULL when out of range.
Definition at line 45 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::root().
T* ml::CSOObjectVector< T >::last | ( | ) | const [inline] |
Returns last element.
Definition at line 51 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::insert().
T* ml::CSOObjectVector< T >::lastBoundsCheck | ( | ) | const [inline] |
Returns last element, return NULL when out of range.
Definition at line 49 of file CSOObjectVector.h.
int ml::CSOObjectVector< T >::lookup | ( | T * | elem | ) | const [virtual] |
Searches for element in vector and return its position.
Definition at line 261 of file CSOObjectVector.h.
unsigned int ml::CSOObjectVector< T >::num | ( | ) | const [inline] |
Returns number of elements in the vector.
Definition at line 39 of file CSOObjectVector.h.
Referenced by ml::CSOObjectHeap< T >::insert(), ml::CSOObjectHeap< T >::remove(), ml::CSOObjectHeap< T >::sort(), and ml::CSOObjectHeap< T >::update().
int ml::CSOObjectVector< T >::remove | ( | T * | elem | ) | [virtual] |
Deletes element given by its pointer, search element and delete.
Reimplemented in ml::CSOObjectHeap< T >, and ml::CSOObjectHeap< CSOLiveWireNode >.
Definition at line 278 of file CSOObjectVector.h.
int ml::CSOObjectVector< T >::removeUnSwapped | ( | T * | elem | ) | [virtual] |
Deletes element given by its pointer, search element and delete, keep order of elements!
Definition at line 291 of file CSOObjectVector.h.
void ml::CSOObjectVector< T >::replace | ( | T * | elem, |
unsigned int | pos | ||
) | [virtual] |
Replaces the given position with the given element.
Definition at line 213 of file CSOObjectVector.h.
void ml::CSOObjectVector< T >::reserve | ( | unsigned int | init | ) |
Reserves num elements, copy old ones if needed.
Definition at line 308 of file CSOObjectVector.h.
References ML_CHECK_NEW, ML_DELETE_ARRAY, and T.
void ml::CSOObjectVector< T >::swap | ( | unsigned int | p1, |
unsigned int | p2 | ||
) | [virtual] |
Swaps two elements in vector.
Reimplemented in ml::CSOObjectHeap< T >, and ml::CSOObjectHeap< CSOLiveWireNode >.
Definition at line 221 of file CSOObjectVector.h.
References T.
Referenced by ml::CSOObjectHeap< T >::swap().