#include <argos3/core/utility/datatypes/datatypes.h>
#include <argos3/core/utility/configuration/argos_configuration.h>
#include <argos3/core/utility/configuration/base_configurable_resource.h>
#include <argos3/core/utility/plugins/factory.h>
#include <argos3/core/utility/plugins/vtable.h>
#include <vector>
#include <map>
#include <string>
#include <tr1/unordered_map>
Go to the source code of this file.
|
| argos |
| The namespace containing all the ARGoS related code.
|
|
|
#define | REGISTER_ENTITY(CLASSNAME, LABEL, AUTHOR, VERSION, BRIEF_DESCRIPTION, LONG_DESCRIPTION, STATUS) |
|
#define | REGISTER_ENTITY_OPERATION(LABEL, PLUGIN, OPERATION, RETURN_VALUE, DERIVED) |
| Convenience macro to register vtable entity operations. More...
|
|
|
template<typename LABEL , typename PLUGIN , typename RETURN_VALUE > |
RETURN_VALUE | argos::CallEntityOperation (PLUGIN &t_plugin, CEntity &c_entity) |
| Calls the operation corresponding to the given context and operand Skips the function call if the operation is missing in the vtable. More...
|
|
◆ REGISTER_ENTITY
#define REGISTER_ENTITY |
( |
|
CLASSNAME, |
|
|
|
LABEL, |
|
|
|
AUTHOR, |
|
|
|
VERSION, |
|
|
|
BRIEF_DESCRIPTION, |
|
|
|
LONG_DESCRIPTION, |
|
|
|
STATUS |
|
) |
| |
Value:
CLASSNAME, \
LABEL, \
AUTHOR, \
VERSION, \
BRIEF_DESCRIPTION, \
LONG_DESCRIPTION, \
STATUS)
#define REGISTER_SYMBOL(BASECLASS, CLASSNAME, LABEL, AUTHOR, VERSION, BRIEF_DESCRIPTION, LONG_DESCRIPTION, STATUS)
Macro to register a symbol into the factory.
Definition at line 432 of file entity.h.
◆ REGISTER_ENTITY_OPERATION
#define REGISTER_ENTITY_OPERATION |
( |
|
LABEL, |
|
|
|
PLUGIN, |
|
|
|
OPERATION, |
|
|
|
RETURN_VALUE, |
|
|
|
DERIVED |
|
) |
| |
Value: class C ## LABEL ## PLUGIN ## OPERATION ## RETURN_VALUE ## DERIVED { \
typedef RETURN_VALUE (CEntityOperation<LABEL, PLUGIN, RETURN_VALUE>::*TFunction)(PLUGIN&, CEntity&); \
public: \
C ## LABEL ## PLUGIN ## OPERATION ## RETURN_VALUE ## DERIVED() { \
GetVTable<LABEL, CEntity, TFunction>().Add<DERIVED>(&OPERATION::Hook<DERIVED, OPERATION>); \
GetEntityOperationInstanceHolder<LABEL, PLUGIN, RETURN_VALUE>().Add<DERIVED>(new OPERATION()); \
} \
} c ## LABEL ## PLUGIN ## OPERATION ## RETURN_VALUE ## DERIVED;
Convenience macro to register vtable entity operations.
Definition at line 451 of file entity.h.