Bayeux  3.4.1
Core Foundation library for SuperNEMO
Classes | Namespaces | Macros
base_module.h File Reference
#include <iostream>
#include <string>
#include <datatools/bit_mask.h>
#include <datatools/i_tree_dump.h>
#include <datatools/factory_macros.h>
#include <datatools/logger.h>
#include <datatools/things.h>
#include <dpp/dpp_config.h>
#include <dpp/module_tools.h>

Go to the source code of this file.

Classes

class  dpp::base_module
 Base processing module (abstract interface) More...
 

Namespaces

 datatools
 The Bayeux/datatools library top-level namespace.
 
 dpp
 Top-level namespace of the Bayeux/dpp module library.
 

Macros

#define DPP_MODULE_REGISTRATION_INTERFACE(T)
 
#define DPP_MODULE_REGISTRATION_IMPLEMENT(T, ModuleID)   DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION(::dpp::base_module,T,ModuleID) \
 

Macro Definition Documentation

◆ DPP_MODULE_REGISTRATION_IMPLEMENT

#define DPP_MODULE_REGISTRATION_IMPLEMENT (   T,
  ModuleID 
)    DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_IMPLEMENTATION(::dpp::base_module,T,ModuleID) \

Implementation macro to automate the registration of the module in the global register for data processing modules.

Example (in the class definition file):

DPP_MODULE_REGISTRATION_IMPLEMENT(my_module, "my_module")

◆ DPP_MODULE_REGISTRATION_INTERFACE

#define DPP_MODULE_REGISTRATION_INTERFACE (   T)
Value:
private: \
DATATOOLS_FACTORY_SYSTEM_AUTO_REGISTRATION_INTERFACE(::dpp::base_module,T) \
Base processing module (abstract interface)
Definition: base_module.h:59

Interface macro to automate the registration of the module in the global register for data processing modules.

Example (in the class header file):

class my_module : public dpp::base_module
{
};