Go to the documentation of this file.
6 #ifndef DYNAMIC_GRAPH_FACTORY_HH
7 #define DYNAMIC_GRAPH_FACTORY_HH
11 #include <boost/noncopyable.hpp>
26 #define DYNAMICGRAPH_FACTORY_ENTITY_PLUGIN(CLASSTYPE, CLASSNAME) \
27 const std::string CLASSTYPE::CLASS_NAME = CLASSNAME; \
29 ::dynamicgraph::Entity *EntityMaker_##CLASSTYPE( \
30 const std::string &objname) { \
31 return new CLASSTYPE(objname); \
33 ::dynamicgraph::EntityRegisterer reg_##CLASSTYPE(CLASSNAME, \
34 &EntityMaker_##CLASSTYPE); \
36 struct e_n_d__w_i_t_h__s_e_m_i_c_o_l_o_n
85 typedef Entity *(*EntityConstructor_ptr)(
const std::string &);
93 static void destroy();
107 void registerEntity(
const std::string &entname, EntityConstructor_ptr ent);
116 void deregisterEntity(
const std::string &entname);
136 Entity *newEntity(
const std::string &classname,
137 const std::string &objname)
const;
144 bool existEntity(
const std::string &
name)
const;
151 void listEntities(std::vector<std::string> &list)
const;
165 typedef std::map<std::string, EntityConstructor_ptr>
EntityMap;
Entity *(* EntityConstructor_ptr)(const std::string &)
Function pointer providing an entity instance from its name.
This class automatically register an Entity to the global factory at initialization and unregister it...
EntityMap entityMap
The entity map storing information about how to instantiate an Entity.
This class represents an entity, i.e. a generic computational unit that provides input and output sig...
Provides a way to create Entity objects from their class name.
static FactoryStorage * instance_
\pointer to the unique object of the class
std::map< std::string, EntityConstructor_ptr > EntityMap
Entity map type.
const std::string entityName
Name of the entity registered when the instance has been initialized.
dynamic-graph
Author(s): Nicolas Mansard, Olivier Stasse
autogenerated on Fri Aug 2 2024 08:36:38