Skip to content

Commit

Permalink
Merge pull request #966 from RachelBryk/template-set
Browse files Browse the repository at this point in the history
Change IniFile::Section::Set() with default value to use a template.
  • Loading branch information
delroth committed Sep 4, 2014
2 parents 46c18aa + 345b608 commit 7d39936
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 27 deletions.
24 changes: 0 additions & 24 deletions Source/Core/Common/IniFile.cpp
Expand Up @@ -60,30 +60,6 @@ void IniFile::Section::Set(const std::string& key, const std::string& newValue,
Delete(key);
}

void IniFile::Section::Set(const std::string& key, const float newValue, const float defaultValue)
{
if (newValue != defaultValue)
Set(key, newValue);
else
Delete(key);
}

void IniFile::Section::Set(const std::string& key, int newValue, int defaultValue)
{
if (newValue != defaultValue)
Set(key, newValue);
else
Delete(key);
}

void IniFile::Section::Set(const std::string& key, bool newValue, bool defaultValue)
{
if (newValue != defaultValue)
Set(key, newValue);
else
Delete(key);
}

void IniFile::Section::Set(const std::string& key, const std::vector<std::string>& newValues)
{
std::string temp;
Expand Down
14 changes: 11 additions & 3 deletions Source/Core/Common/IniFile.h
Expand Up @@ -50,23 +50,31 @@ class IniFile
Set(key, StringFromFormat("%f", newValue));
}

void Set(const std::string& key, const float newValue, const float defaultValue);
void Set(const std::string& key, double newValue)
{
Set(key, StringFromFormat("%f", newValue));
}

void Set(const std::string& key, int newValue, int defaultValue);
void Set(const std::string& key, int newValue)
{
Set(key, StringFromInt(newValue));
}

void Set(const std::string& key, bool newValue, bool defaultValue);
void Set(const std::string& key, bool newValue)
{
Set(key, StringFromBool(newValue));

}

template<typename T>
void Set(const std::string& key, T newValue, const T defaultValue)
{
if (newValue != defaultValue)
Set(key, newValue);
else
Delete(key);
}

void Set(const std::string& key, const std::vector<std::string>& newValues);

bool Get(const std::string& key, int* value, int defaultValue = 0);
Expand Down

0 comments on commit 7d39936

Please sign in to comment.