#include <map>
#include <memory>
#include <typeinfo>
#include <exotica_core/object.h>
#include <exotica_core/tools.h>
#include <pluginlib/class_list_macros.h>
Go to the source code of this file.
#define EXOTICA_CORE_REGISTER |
( |
|
BASE, |
|
|
|
TYPE, |
|
|
|
DERIV |
|
) |
| |
Value: PLUGINLIB_EXPORT_CLASS(DERIV, BASE)
Registration Class for the object type: Also templated:
Generic Factory Macro definition: to be specialised by each new base type which wishes to make use of a factory for instantiation of derived classes.
- Parameters
-
IDENT | Identifier Type : should be specialised by redefining a macro |
BASE | Base Object type : should be specialised by redefining a macro |
TYPE | The name to identify the class (should be of type IDENT) |
DERIV | The Derived Class type (should inherit from BASE) |
Definition at line 47 of file factory.h.
#define EXOTICA_CORE_REGISTER_CORE |
( |
|
BASE, |
|
|
|
TYPE, |
|
|
|
DERIV |
|
) |
| static exotica::Registrar<BASE> EX_UNIQ(object_registrar_, __LINE__)("exotica/" TYPE, []() -> BASE* { return new DERIV(); }, #BASE); |