#pragma once #include template class IConfig { public: using Params = T; IConfig(Params* params) : params_(params) { } ~IConfig() = default; virtual bool parseConfig(const libconfig::Setting& setting) = 0; Params* params() { return params_; } protected: Params* params_; };