1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
#include "StaticModule.h"
#include <cassert>
namespace module
{
namespace internal
{
void StaticModuleList::Add(const ModuleCreationFunc& creationFunc)
{
Instance().push_back(creationFunc);
}
void StaticModuleList::RegisterModules()
{
for (const auto& creationFunc : Instance())
{
module::GlobalModuleRegistry().registerModule(creationFunc());
}
}
StaticModuleList& StaticModuleList::Instance()
{
static StaticModuleList _list;
return _list;
}
}
}
|