#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.