IniFile: Make Section's string constructor instances take strings by value
As the name is immediately stored into a class member, a move here is a better choice. This also moves the constructor implementations into the cpp file to avoid an otherwise unnecessary inclusion in the header. This is also likely a better choice as Section contains several non-trivial members, so this would avoid potentially inlining a bunch of setup and teardown code related to them as a side-benefit.
This commit is contained in:
parent
99adc73383
commit
46d74a7760
|
@ -39,6 +39,12 @@ void IniFile::ParseLine(const std::string& line, std::string* keyOut, std::strin
|
||||||
|
|
||||||
const std::string& IniFile::NULL_STRING = "";
|
const std::string& IniFile::NULL_STRING = "";
|
||||||
|
|
||||||
|
IniFile::Section::Section() = default;
|
||||||
|
|
||||||
|
IniFile::Section::Section(std::string name_) : name{std::move(name_)}
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
void IniFile::Section::Set(const std::string& key, const std::string& newValue)
|
void IniFile::Section::Set(const std::string& key, const std::string& newValue)
|
||||||
{
|
{
|
||||||
auto it = values.find(key);
|
auto it = values.find(key);
|
||||||
|
|
|
@ -29,8 +29,8 @@ public:
|
||||||
friend class IniFile;
|
friend class IniFile;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
Section() {}
|
Section();
|
||||||
explicit Section(const std::string& name_) : name(name_) {}
|
explicit Section(std::string name_);
|
||||||
bool Exists(const std::string& key) const;
|
bool Exists(const std::string& key) const;
|
||||||
bool Delete(const std::string& key);
|
bool Delete(const std::string& key);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue