diff options
| author | Léo Lam <leo@innovatetechnologi.es> | 2018-06-04 12:44:57 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-04 12:44:57 +0200 |
| commit | 8074192a85557feaf84d4aaab9ab42b02464220b (patch) | |
| tree | 397fdd6af48ef94001e5df65102495ea4b89139d /Source/Core/Common/Config | |
| parent | 472e0d55b807c7a5be847f113109ee4b38b48e80 (diff) | |
| parent | 7154bfd82559747681313531b5d53ab44bd88493 (diff) | |
Merge pull request #7057 from leoetlino/string
Config/StringUtil/IniFile: Get rid of some duplicated code
Diffstat (limited to 'Source/Core/Common/Config')
| -rw-r--r-- | Source/Core/Common/Config/Layer.cpp | 38 | ||||
| -rw-r--r-- | Source/Core/Common/Config/Layer.h | 21 |
2 files changed, 6 insertions, 53 deletions
diff --git a/Source/Core/Common/Config/Layer.cpp b/Source/Core/Common/Config/Layer.cpp index 6653dbfe65..8eba0d7c1a 100644 --- a/Source/Core/Common/Config/Layer.cpp +++ b/Source/Core/Common/Config/Layer.cpp @@ -11,44 +11,6 @@ namespace Config { -namespace detail -{ -std::string ValueToString(u16 value) -{ - return StringFromFormat("0x%04x", value); -} - -std::string ValueToString(u32 value) -{ - return StringFromFormat("0x%08x", value); -} - -std::string ValueToString(float value) -{ - return StringFromFormat("%#.9g", value); -} - -std::string ValueToString(double value) -{ - return StringFromFormat("%#.17g", value); -} - -std::string ValueToString(int value) -{ - return std::to_string(value); -} - -std::string ValueToString(bool value) -{ - return StringFromBool(value); -} - -std::string ValueToString(const std::string& value) -{ - return value; -} -} - ConfigLayerLoader::ConfigLayerLoader(LayerType layer) : m_layer(layer) { } diff --git a/Source/Core/Common/Config/Layer.h b/Source/Core/Common/Config/Layer.h index 3e01b83fed..2e84d6c3d1 100644 --- a/Source/Core/Common/Config/Layer.h +++ b/Source/Core/Common/Config/Layer.h @@ -19,19 +19,6 @@ namespace Config { namespace detail { -std::string ValueToString(u16 value); -std::string ValueToString(u32 value); -std::string ValueToString(float value); -std::string ValueToString(double value); -std::string ValueToString(int value); -std::string ValueToString(bool value); -std::string ValueToString(const std::string& value); -template <typename T, std::enable_if_t<std::is_enum<T>::value>* = nullptr> -std::string ValueToString(T value) -{ - return ValueToString(static_cast<std::underlying_type_t<T>>(value)); -} - template <typename T, std::enable_if_t<!std::is_enum<T>::value>* = nullptr> std::optional<T> TryParse(const std::string& str_value) { @@ -133,13 +120,17 @@ public: template <typename T> void Set(const ConfigInfo<T>& config_info, const std::common_type_t<T>& value) { - Set<T>(config_info.location, value); + Set(config_info.location, value); } template <typename T> void Set(const ConfigLocation& location, const T& value) { - const std::string new_value = detail::ValueToString(value); + Set(location, ValueToString(value)); + } + + void Set(const ConfigLocation& location, const std::string& new_value) + { std::optional<std::string>& current_value = m_map[location]; if (current_value == new_value) return; |
