Tesseract
Motion Planning Environment
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | Private Member Functions | Friends | List of all members
tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface > Struct Template Reference

#include <type_erasure.h>

Inheritance diagram for tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >:
Inheritance graph
[legend]
Collaboration diagram for tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >:
Collaboration graph
[legend]

Public Types

using ConceptValueType = ConcreteType
 
using ConceptInterfaceType = ConceptInterface
 

Public Member Functions

 TypeErasureInstance ()=default
 
 TypeErasureInstance (ConcreteType value)
 
 TypeErasureInstance (ConcreteType &&value)
 
const ConceptValueTypeget () const
 
ConceptValueTypeget ()
 
void * recover () final
 
const void * recover () const final
 
std::type_index getType () const final
 
bool equals (const TypeErasureInterface &other) const final
 

Public Attributes

ConcreteType value_
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int)
 

Friends

class boost::serialization::access
 
struct tesseract_common::Serialization
 

Member Typedef Documentation

◆ ConceptInterfaceType

template<typename ConcreteType , typename ConceptInterface >
using tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::ConceptInterfaceType = ConceptInterface

◆ ConceptValueType

template<typename ConcreteType , typename ConceptInterface >
using tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::ConceptValueType = ConcreteType

Constructor & Destructor Documentation

◆ TypeErasureInstance() [1/3]

template<typename ConcreteType , typename ConceptInterface >
tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::TypeErasureInstance ( )
default

◆ TypeErasureInstance() [2/3]

template<typename ConcreteType , typename ConceptInterface >
tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::TypeErasureInstance ( ConcreteType  value)
inlineexplicit

◆ TypeErasureInstance() [3/3]

template<typename ConcreteType , typename ConceptInterface >
tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::TypeErasureInstance ( ConcreteType &&  value)
inlineexplicit

Member Function Documentation

◆ equals()

template<typename ConcreteType , typename ConceptInterface >
bool tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::equals ( const TypeErasureInterface other) const
inlinefinal

◆ get() [1/2]

template<typename ConcreteType , typename ConceptInterface >
ConceptValueType & tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::get ( )
inline

◆ get() [2/2]

template<typename ConcreteType , typename ConceptInterface >
const ConceptValueType & tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::get ( ) const
inline

◆ getType()

template<typename ConcreteType , typename ConceptInterface >
std::type_index tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::getType ( ) const
inlinefinal

◆ recover() [1/2]

template<typename ConcreteType , typename ConceptInterface >
const void * tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::recover ( ) const
inlinefinal

◆ recover() [2/2]

template<typename ConcreteType , typename ConceptInterface >
void * tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::recover ( )
inlinefinal

◆ serialize()

template<typename ConcreteType , typename ConceptInterface >
template<class Archive >
void tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::serialize ( Archive &  ar,
const unsigned int   
)
inlineprivate

Friends And Related Function Documentation

◆ boost::serialization::access

template<typename ConcreteType , typename ConceptInterface >
friend class boost::serialization::access
friend

◆ tesseract_common::Serialization

template<typename ConcreteType , typename ConceptInterface >
friend struct tesseract_common::Serialization
friend

Member Data Documentation

◆ value_

template<typename ConcreteType , typename ConceptInterface >
ConcreteType tesseract_common::TypeErasureInstance< ConcreteType, ConceptInterface >::value_

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