#include "cfglazyinitializer.h" #include "common/unused.h" QList* CfgLazyInitializer::instances = nullptr; CfgLazyInitializer::CfgLazyInitializer(std::function initFunc, const char *name) : initFunc(initFunc) { UNUSED(name); if (!instances) instances = new QList(); *instances << this; } void CfgLazyInitializer::init() { if (!instances) instances = new QList(); for (CfgLazyInitializer*& initializer : *instances) initializer->doInitialize(); } void CfgLazyInitializer::doInitialize() { initFunc(); }