summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Config
diff options
context:
space:
mode:
authorLéo Lam <leo@innovatetechnologi.es>2018-06-04 12:44:57 +0200
committerGitHub <noreply@github.com>2018-06-04 12:44:57 +0200
commit8074192a85557feaf84d4aaab9ab42b02464220b (patch)
tree397fdd6af48ef94001e5df65102495ea4b89139d /Source/Core/Common/Config
parent472e0d55b807c7a5be847f113109ee4b38b48e80 (diff)
parent7154bfd82559747681313531b5d53ab44bd88493 (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.cpp38
-rw-r--r--Source/Core/Common/Config/Layer.h21
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;