1
0
mirror of https://github.com/paboyle/Grid.git synced 2025-06-15 14:27:06 +01:00

Hadrons: big module reorganisation

This commit is contained in:
2016-12-05 13:53:31 +09:00
parent 0b4f680d28
commit dd6fb140c5
30 changed files with 514 additions and 363 deletions

View File

@ -33,7 +33,7 @@ directory.
BEGIN_HADRONS_NAMESPACE
// module registration macro
// module registration macros
#define MODULE_REGISTER(mod)\
class mod##ModuleRegistrar\
{\
@ -49,6 +49,21 @@ public:\
};\
static mod##ModuleRegistrar mod##ModuleRegistrarInstance;
#define MODULE_REGISTER_NS(mod, ns)\
class ns##mod##ModuleRegistrar\
{\
public:\
ns##mod##ModuleRegistrar(void)\
{\
ModuleFactory &modFac = ModuleFactory::getInstance();\
modFac.registerBuilder(#ns "::" #mod, [&](const std::string name)\
{\
return std::unique_ptr<ns::mod>(new ns::mod(name));\
});\
}\
};\
static ns##mod##ModuleRegistrar ns##mod##ModuleRegistrarInstance;
/******************************************************************************
* Module class *
******************************************************************************/