HeterogenousContinuousContainer< Base, UsePropagateConst > Class Template Reference

#include <RobotAPI/components/units/RobotUnit/util/HeterogenousContinuousContainer.h>

+ Inheritance diagram for HeterogenousContinuousContainer< Base, UsePropagateConst >:

Public Types

using ElementType
 

Public Member Functions

void clear ()
 
std::vector< ElementType > & elements ()
 
const std::vector< ElementType > & elements () const
 
std::size_t getElementCapacity () const
 
std::size_t getElementCount () const
 
std::size_t getRemainingElementCapacity () const
 
 HeterogenousContinuousContainer ()=default
 
 HeterogenousContinuousContainer (const HeterogenousContinuousContainer &other, bool compressElems=false)
 
 HeterogenousContinuousContainer (HeterogenousContinuousContainer &&)=default
 
HeterogenousContinuousContainer & operator= (const HeterogenousContinuousContainer &other)
 
HeterogenousContinuousContainer & operator= (HeterogenousContinuousContainer &&)=default
 
template<class Derived>
Base * pushBack (const Derived &d)
 
template<class Derived>
Base * pushBack (const Derived *d)
 
template<class Derived>
Base * pushBack (const PropagateConst< Derived * > &d)
 
void setElementCapacity (std::size_t cnt)
 
 ~HeterogenousContinuousContainer ()
 
- Public Member Functions inherited from HeterogenousContinuousContainerBase< Base >
void assignStorage (void *begin, void *end)
 
bool empty () const
 
std::size_t getRemainingStorageCapacity () const
 
std::size_t getStorageCapacity () const
 
std::size_t getUsedStorageCapacity () const
 
bool owning () const
 
void setStorageCapacity (std::size_t sz)
 

Additional Inherited Members

- Protected Member Functions inherited from HeterogenousContinuousContainerBase< Base >
void clear ()
 
template<class Derived>
Base * pushBack (const Derived *d)
 

Member Typedef Documentation

◆ ElementType

template<class Base, bool UsePropagateConst = true>
using ElementType
Initial value:
typename std::conditional<UsePropagateConst, PropagateConst<Base*>, Base*>::type

Constructor & Destructor Documentation

◆ HeterogenousContinuousContainer() [1/3]

template<class Base, bool UsePropagateConst = true>
HeterogenousContinuousContainer ( )
default

◆ HeterogenousContinuousContainer() [2/3]

template<class Base, bool UsePropagateConst = true>
HeterogenousContinuousContainer ( HeterogenousContinuousContainer< Base, UsePropagateConst > && )
default

◆ HeterogenousContinuousContainer() [3/3]

template<class Base, bool UsePropagateConst = true>
HeterogenousContinuousContainer ( const HeterogenousContinuousContainer< Base, UsePropagateConst > & other,
bool compressElems = false )
inline

◆ ~HeterogenousContinuousContainer()

template<class Base, bool UsePropagateConst = true>
~HeterogenousContinuousContainer ( )
inline

Member Function Documentation

◆ clear()

template<class Base, bool UsePropagateConst = true>
void clear ( )
inline

◆ elements() [1/2]

template<class Base, bool UsePropagateConst = true>
std::vector< ElementType > & elements ( )
inline

◆ elements() [2/2]

template<class Base, bool UsePropagateConst = true>
const std::vector< ElementType > & elements ( ) const
inline

◆ getElementCapacity()

template<class Base, bool UsePropagateConst = true>
std::size_t getElementCapacity ( ) const
inline

◆ getElementCount()

template<class Base, bool UsePropagateConst = true>
std::size_t getElementCount ( ) const
inline

◆ getRemainingElementCapacity()

template<class Base, bool UsePropagateConst = true>
std::size_t getRemainingElementCapacity ( ) const
inline

◆ operator=() [1/2]

template<class Base, bool UsePropagateConst = true>
HeterogenousContinuousContainer & operator= ( const HeterogenousContinuousContainer< Base, UsePropagateConst > & other)
inline

◆ operator=() [2/2]

template<class Base, bool UsePropagateConst = true>
HeterogenousContinuousContainer & operator= ( HeterogenousContinuousContainer< Base, UsePropagateConst > && )
default

◆ pushBack() [1/3]

template<class Base, bool UsePropagateConst = true>
template<class Derived>
Base * pushBack ( const Derived & d)
inline

◆ pushBack() [2/3]

template<class Base, bool UsePropagateConst = true>
template<class Derived>
Base * pushBack ( const Derived * d)
inline

◆ pushBack() [3/3]

template<class Base, bool UsePropagateConst = true>
template<class Derived>
Base * pushBack ( const PropagateConst< Derived * > & d)
inline

◆ setElementCapacity()

template<class Base, bool UsePropagateConst = true>
void setElementCapacity ( std::size_t cnt)
inline

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