diff options
author | liamwhite <liamwhite@users.noreply.github.com> | 2024-01-04 15:51:00 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-04 15:51:00 -0500 |
commit | 8d3463dbddbbcef2d615d596a1bf7421730c9dd6 (patch) | |
tree | 33f4e6b829a578c4bb1ad21d9b21f01f1c717b28 /src/frontend_common/config.h | |
parent | b125cb97a2281d8b1cdde29828a32b147279af38 (diff) | |
parent | bdf87ba0f8a1d6ca985097c8245bda50e70a87b6 (diff) |
Merge pull request #12570 from t895/generic-config-pain
frontend_common: config: Move WriteIntegerSetting definition to header
Diffstat (limited to 'src/frontend_common/config.h')
-rw-r--r-- | src/frontend_common/config.h | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/frontend_common/config.h b/src/frontend_common/config.h index 0c4d505b8..b01631649 100644 --- a/src/frontend_common/config.h +++ b/src/frontend_common/config.h @@ -157,17 +157,23 @@ protected: void WriteBooleanSetting(const std::string& key, const bool& value, const std::optional<bool>& default_value = std::nullopt, const std::optional<bool>& use_global = std::nullopt); - template <typename T> - std::enable_if_t<std::is_integral_v<T>> WriteIntegerSetting( - const std::string& key, const T& value, - const std::optional<T>& default_value = std::nullopt, - const std::optional<bool>& use_global = std::nullopt); void WriteDoubleSetting(const std::string& key, const double& value, const std::optional<double>& default_value = std::nullopt, const std::optional<bool>& use_global = std::nullopt); void WriteStringSetting(const std::string& key, const std::string& value, const std::optional<std::string>& default_value = std::nullopt, const std::optional<bool>& use_global = std::nullopt); + template <typename T> + std::enable_if_t<std::is_integral_v<T>> WriteIntegerSetting( + const std::string& key, const T& value, + const std::optional<T>& default_value = std::nullopt, + const std::optional<bool>& use_global = std::nullopt) { + std::optional<std::string> string_default = std::nullopt; + if (default_value.has_value()) { + string_default = std::make_optional(ToString(default_value.value())); + } + WritePreparedSetting(key, AdjustOutputString(ToString(value)), string_default, use_global); + } void ReadCategory(Settings::Category category); void WriteCategory(Settings::Category category); |