TAMSVIZ
Visualization and annotation tool for ROS
All Classes Pages
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | List of all members
Type Struct Referenceabstract
Inheritance diagram for Type:
Inheritance graph
[legend]

Public Member Functions

const std::type_index & typeId () const
 
const std::string & name () const
 
const std::shared_ptr< Type > & base () const
 
bool constructable () const
 
const std::string & category () const
 
template<class T >
std::shared_ptr< T > instantiate () const
 
std::vector< std::shared_ptr< Type > > list () const
 
virtual bool tryToString (const void *p, std::string &s) const =0
 
virtual bool fromStringSupported () const =0
 
virtual void fromStringOrThrow (void *p, const std::string &s) const =0
 
virtual void properties (const void *ptr, std::vector< Property > &properties) const =0
 
virtual bool tryToPointerList (const void *object, std::vector< std::shared_ptr< void >> &out) const =0
 
virtual bool tryFromPointerList (void *object, const std::vector< std::shared_ptr< void >> &in) const =0
 

Static Public Member Functions

static std::shared_ptr< TypetryFind (const std::string &name)
 
static std::shared_ptr< TypetryFind (const std::type_index &id)
 
static std::shared_ptr< Typefind (const std::string &name)
 
static std::shared_ptr< Typefind (const std::type_index &id)
 
template<class T >
static std::shared_ptr< Typefind ()
 
template<class T >
static std::shared_ptr< TypetryFind ()
 
template<class T >
static std::shared_ptr< Typeglobal (const std::string &name="", const std::shared_ptr< Type > &base=nullptr, const std::string &category="")
 
template<class T >
static std::shared_ptr< Typecreate (const std::string &name="", const std::shared_ptr< Type > &base=nullptr, const std::string &category="")
 

Protected Member Functions

template<class T >
void _initConstructor (...)
 
template<class T >
void _initConstructor (decltype(new T()) i)
 
 Type (const Type &)=delete
 
Typeoperator= (const Type &)=delete
 

Static Protected Member Functions

static void _registerType (const std::shared_ptr< Type > &t)
 
static bool _tryToPointerList (...)
 
template<class T >
static bool _tryToPointerList (const std::vector< std::shared_ptr< T >> *list, std::vector< std::shared_ptr< void >> &out)
 
static bool _tryFromPointerList (...)
 
template<class T >
static bool _tryFromPointerList (std::vector< std::shared_ptr< T >> *list, const std::vector< std::shared_ptr< void >> &in)
 

Protected Attributes

std::string _name
 
std::type_index _type_id = typeid(void)
 
std::shared_ptr< Type_base
 
bool _constructable = false
 
std::function< std::shared_ptr< void >)> _create
 
std::string _category
 

Detailed Description

Definition at line 220 of file type.h.


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