#include "values.hpp" #include namespace Settings { std::unique_ptr StaticValues::sIndex; std::unique_ptr StaticValues::sDefaultValues; std::unique_ptr StaticValues::sValues; void StaticValues::initDefaults() { if (sDefaultValues != nullptr) throw std::logic_error("Default settings are already initialized"); sIndex = std::make_unique(); sDefaultValues = std::make_unique(*sIndex); } void StaticValues::init() { if (sDefaultValues == nullptr) throw std::logic_error("Default settings are not initialized"); sValues = std::make_unique(std::move(*sDefaultValues)); } void StaticValues::clear() { sValues = nullptr; sDefaultValues = nullptr; sIndex = nullptr; } }