Bayeux  3.4.1
Core Foundation library for SuperNEMO
Macros
electromagnetic_field_macros.h File Reference

Macros to automatically generate some parts of the electromagnetic fields interface. More...

#include <emfield/base_electromagnetic_field.h>

Go to the source code of this file.

Macros

#define EMFIELD_REGISTRATION_INTERFACE(EMFIELD_CLASS_NAME)
 
#define EMFIELD_REGISTRATION_IMPLEMENT(EMFIELD_CLASS_NAME, EMFIELD_ID)
 

Detailed Description

Macros to automatically generate some parts of the electromagnetic fields interface.

Macro Definition Documentation

◆ EMFIELD_REGISTRATION_IMPLEMENT

#define EMFIELD_REGISTRATION_IMPLEMENT (   EMFIELD_CLASS_NAME,
  EMFIELD_ID 
)
Value:
std::string EMFIELD_CLASS_NAME::get_class_id() const { \
return std::string(EMFIELD_ID); \
} \
#define DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION(BaseType, DerivedType, DerivedTypeId)
Implementation macro of the automated registration for derived classes.
Definition: factory_macros.h:95
Abstract base class for all electromagnetic field.
Definition: base_electromagnetic_field.h:43

◆ EMFIELD_REGISTRATION_INTERFACE

#define EMFIELD_REGISTRATION_INTERFACE (   EMFIELD_CLASS_NAME)
Value:
private: \
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE(::emfield::base_electromagnetic_field,EMFIELD_CLASS_NAME) \
public: \
virtual std::string get_class_id() const; \
Abstract base class for all electromagnetic field.
Definition: base_electromagnetic_field.h:43