diff options
| author | flacs <tilkax@gmail.com> | 2015-08-20 10:01:16 +0200 |
|---|---|---|
| committer | flacs <tilkax@gmail.com> | 2015-08-20 10:01:16 +0200 |
| commit | 62028357a230c81b8b34a1b9502fcc549d2eea2b (patch) | |
| tree | e18aadb720e4360f23e7fc2a2a4570a0fbffd2b7 /Source | |
| parent | 4fb48fd2094d97a888565749a58cad0238e3d820 (diff) | |
| parent | 822cf2bcbfa1e412f02144453a266ec37f360c52 (diff) | |
Merge pull request #2879 from lioncash/const
IniFile: Mark getter functions as const
Diffstat (limited to 'Source')
| -rw-r--r-- | Source/Core/Common/IniFile.cpp | 43 | ||||
| -rw-r--r-- | Source/Core/Common/IniFile.h | 15 |
2 files changed, 36 insertions, 22 deletions
diff --git a/Source/Core/Common/IniFile.cpp b/Source/Core/Common/IniFile.cpp index 9ea8f50533..0c53d9569e 100644 --- a/Source/Core/Common/IniFile.cpp +++ b/Source/Core/Common/IniFile.cpp @@ -72,7 +72,7 @@ void IniFile::Section::Set(const std::string& key, const std::vector<std::string Set(key, temp); } -bool IniFile::Section::Get(const std::string& key, std::string* value, const std::string& defaultValue) +bool IniFile::Section::Get(const std::string& key, std::string* value, const std::string& defaultValue) const { auto it = values.find(key); if (it != values.end()) @@ -85,11 +85,11 @@ bool IniFile::Section::Get(const std::string& key, std::string* value, const std *value = defaultValue; return true; } - else - return false; + + return false; } -bool IniFile::Section::Get(const std::string& key, std::vector<std::string>* out) +bool IniFile::Section::Get(const std::string& key, std::vector<std::string>* out) const { std::string temp; bool retval = Get(key, &temp); @@ -97,69 +97,84 @@ bool IniFile::Section::Get(const std::string& key, std::vector<std::string>* out { return false; } - // ignore starting , if any + + // ignore starting comma, if any size_t subStart = temp.find_first_not_of(","); - // split by , + // split by comma while (subStart != std::string::npos) { - // Find next , + // Find next comma size_t subEnd = temp.find(',', subStart); if (subStart != subEnd) - // take from first char until next , + { + // take from first char until next comma out->push_back(StripSpaces(temp.substr(subStart, subEnd - subStart))); - // Find the next non , char + } + + // Find the next non-comma char subStart = temp.find_first_not_of(",", subEnd); } + return true; } -bool IniFile::Section::Get(const std::string& key, int* value, int defaultValue) +bool IniFile::Section::Get(const std::string& key, int* value, int defaultValue) const { std::string temp; bool retval = Get(key, &temp); + if (retval && TryParse(temp, value)) return true; + *value = defaultValue; return false; } -bool IniFile::Section::Get(const std::string& key, u32* value, u32 defaultValue) +bool IniFile::Section::Get(const std::string& key, u32* value, u32 defaultValue) const { std::string temp; bool retval = Get(key, &temp); + if (retval && TryParse(temp, value)) return true; + *value = defaultValue; return false; } -bool IniFile::Section::Get(const std::string& key, bool* value, bool defaultValue) +bool IniFile::Section::Get(const std::string& key, bool* value, bool defaultValue) const { std::string temp; bool retval = Get(key, &temp); + if (retval && TryParse(temp, value)) return true; + *value = defaultValue; return false; } -bool IniFile::Section::Get(const std::string& key, float* value, float defaultValue) +bool IniFile::Section::Get(const std::string& key, float* value, float defaultValue) const { std::string temp; bool retval = Get(key, &temp); + if (retval && TryParse(temp, value)) return true; + *value = defaultValue; return false; } -bool IniFile::Section::Get(const std::string& key, double* value, double defaultValue) +bool IniFile::Section::Get(const std::string& key, double* value, double defaultValue) const { std::string temp; bool retval = Get(key, &temp); + if (retval && TryParse(temp, value)) return true; + *value = defaultValue; return false; } diff --git a/Source/Core/Common/IniFile.h b/Source/Core/Common/IniFile.h index fc39e783cc..29a6ddba8c 100644 --- a/Source/Core/Common/IniFile.h +++ b/Source/Core/Common/IniFile.h @@ -38,8 +38,6 @@ public: void Set(const std::string& key, const std::string& newValue); void Set(const std::string& key, const std::string& newValue, const std::string& defaultValue); - bool Get(const std::string& key, std::string* value, const std::string& defaultValue = NULL_STRING); - void Set(const std::string& key, u32 newValue) { Set(key, StringFromFormat("0x%08x", newValue)); @@ -76,12 +74,13 @@ public: void Set(const std::string& key, const std::vector<std::string>& newValues); - bool Get(const std::string& key, int* value, int defaultValue = 0); - bool Get(const std::string& key, u32* value, u32 defaultValue = 0); - bool Get(const std::string& key, bool* value, bool defaultValue = false); - bool Get(const std::string& key, float* value, float defaultValue = false); - bool Get(const std::string& key, double* value, double defaultValue = false); - bool Get(const std::string& key, std::vector<std::string>* values); + bool Get(const std::string& key, std::string* value, const std::string& defaultValue = NULL_STRING) const; + bool Get(const std::string& key, int* value, int defaultValue = 0) const; + bool Get(const std::string& key, u32* value, u32 defaultValue = 0) const; + bool Get(const std::string& key, bool* value, bool defaultValue = false) const; + bool Get(const std::string& key, float* value, float defaultValue = 0.0f) const; + bool Get(const std::string& key, double* value, double defaultValue = 0.0) const; + bool Get(const std::string& key, std::vector<std::string>* values) const; bool operator < (const Section& other) const { |
