summaryrefslogtreecommitdiff
path: root/Source/Core/Common/Config/ConfigInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/Common/Config/ConfigInfo.cpp')
-rw-r--r--Source/Core/Common/Config/ConfigInfo.cpp35
1 files changed, 35 insertions, 0 deletions
diff --git a/Source/Core/Common/Config/ConfigInfo.cpp b/Source/Core/Common/Config/ConfigInfo.cpp
new file mode 100644
index 0000000000..47d2e25c84
--- /dev/null
+++ b/Source/Core/Common/Config/ConfigInfo.cpp
@@ -0,0 +1,35 @@
+// Copyright 2016 Dolphin Emulator Project
+// Licensed under GPLv2+
+// Refer to the license.txt file included.
+
+#include <cstring>
+
+#include "Common/CommonFuncs.h"
+#include "Common/Config/ConfigInfo.h"
+
+namespace Config
+{
+bool ConfigLocation::operator==(const ConfigLocation& other) const
+{
+ return system == other.system && strcasecmp(section.c_str(), other.section.c_str()) == 0 &&
+ strcasecmp(key.c_str(), other.key.c_str()) == 0;
+}
+
+bool ConfigLocation::operator!=(const ConfigLocation& other) const
+{
+ return !(*this == other);
+}
+
+bool ConfigLocation::operator<(const ConfigLocation& other) const
+{
+ if (system != other.system)
+ return system < other.system;
+
+ const int section_compare = strcasecmp(section.c_str(), other.section.c_str());
+ if (section_compare != 0)
+ return section_compare < 0;
+
+ const int key_compare = strcasecmp(key.c_str(), other.key.c_str());
+ return key_compare < 0;
+}
+}