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