ref # Added change in template method instance

This commit is contained in:
IgorekLoschinin 2021-11-08 22:59:26 +03:00
parent 049283c287
commit 0a03a081c0

View File

@ -40,13 +40,13 @@ public:
* @brief instance This method return instance of the settings object * @brief instance This method return instance of the settings object
* @return pointer to a settings object; * @return pointer to a settings object;
*/ */
template <class SettingsType> template <class SettingsType, class... Args>
static ISettings* instance() { static ISettings* instance(Args&&... args) {
static_assert (std::is_base_of<SettingsType, ISettings>::value, static_assert (std::is_base_of<ISettings, SettingsType>::value,
"the Settingstype type must be ISettings"); "the Settingstype type must be ISettings");
if(!_settings){ if(!_settings){
_settings = new SettingsType(); _settings = new SettingsType(std::forward<Args>(args)...);
} }
return _settings; return _settings;