MeVisLab Toolbox Reference
ml::WEMIndexVector< T > Class Template Reference

Dynamic vector, based on a memory pool. Keeps track on entry numbers of stored primitives. More...

#include <WEMIndexVector.h>

Public Member Functions

 WEMIndexVector (unsigned int init=0, unsigned int bs=8192)
 Standard constructor.
 
 WEMIndexVector (WEMIndexVector &&other) noexcept=default
 
WEMIndexVectoroperator= (WEMIndexVector &&other) noexcept=default
 
 ~WEMIndexVector ()
 Standard destructor.
 
unsigned int num () const
 Returns the number of elements in this vector.
 
Tat (unsigned int pos) const
 Returns the element at the given position, typecast from WEMPrimitive to T.
 
Tfirst ()
 Returns the first element of this vector.
 
const Tfirst () const
 Returns the first element of this vector.
 
Tappend ()
 Appends an element to this vector, returns it and updates the index.
 
int remove (T *t)
 Removes the given element from vector.
 
void destroy ()
 Destroys all elements in this vector.
 
void reorder (const std::vector< unsigned int > &indexOrder)
 Sets the order by the given vector of indices.
 

Detailed Description

template<class T>
class ml::WEMIndexVector< T >

Dynamic vector, based on a memory pool. Keeps track on entry numbers of stored primitives.

Definition at line 25 of file WEMIndexVector.h.

Constructor & Destructor Documentation

◆ WEMIndexVector() [1/2]

template<class T >
ml::WEMIndexVector< T >::WEMIndexVector ( unsigned int init = 0,
unsigned int bs = 8192 )

Standard constructor.

Definition at line 75 of file WEMIndexVector.h.

◆ WEMIndexVector() [2/2]

template<class T >
ml::WEMIndexVector< T >::WEMIndexVector ( WEMIndexVector< T > && other)
defaultnoexcept

◆ ~WEMIndexVector()

template<class T >
ml::WEMIndexVector< T >::~WEMIndexVector ( )

Standard destructor.

Definition at line 84 of file WEMIndexVector.h.

Member Function Documentation

◆ append()

template<class T >
T * ml::WEMIndexVector< T >::append ( )

Appends an element to this vector, returns it and updates the index.

Definition at line 126 of file WEMIndexVector.h.

References ml::WEMIndexVector< T >::append(), mlrange_cast(), and T.

Referenced by ml::WEMIndexVector< T >::append().

◆ at()

template<class T >
T * ml::WEMIndexVector< T >::at ( unsigned int pos) const
inline

Returns the element at the given position, typecast from WEMPrimitive to T.

Definition at line 38 of file WEMIndexVector.h.

◆ destroy()

template<class T >
void ml::WEMIndexVector< T >::destroy ( )

Destroys all elements in this vector.

Definition at line 92 of file WEMIndexVector.h.

◆ first() [1/2]

template<class T >
T * ml::WEMIndexVector< T >::first ( )
inline

Returns the first element of this vector.

Definition at line 40 of file WEMIndexVector.h.

◆ first() [2/2]

template<class T >
const T * ml::WEMIndexVector< T >::first ( ) const
inline

Returns the first element of this vector.

Definition at line 42 of file WEMIndexVector.h.

References ml::WEMIndexVector< T >::first().

Referenced by ml::WEMIndexVector< T >::first().

◆ num()

template<class T >
unsigned int ml::WEMIndexVector< T >::num ( ) const
inline

Returns the number of elements in this vector.

Definition at line 36 of file WEMIndexVector.h.

◆ operator=()

template<class T >
WEMIndexVector & ml::WEMIndexVector< T >::operator= ( WEMIndexVector< T > && other)
defaultnoexcept

◆ remove()

template<class T >
int ml::WEMIndexVector< T >::remove ( T * t)

Removes the given element from vector.

Note that this is done in O(1).

Definition at line 143 of file WEMIndexVector.h.

References mlrange_cast().

◆ reorder()

template<class T >
void ml::WEMIndexVector< T >::reorder ( const std::vector< unsigned int > & indexOrder)

Sets the order by the given vector of indices.

The element in the internal vector at index i is repositioned to indexOrder[i].

Definition at line 168 of file WEMIndexVector.h.

References mlrange_cast(), and WEM_ERROR.


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