From 18135ce6abc0ee02e36aef424be183cd7238a558 Mon Sep 17 00:00:00 2001 From: Andreas Sandberg Date: Tue, 4 Oct 2016 11:22:16 +0100 Subject: sim: Add a checkpoint function to test for entries When loading a checkpoint, it's sometimes desirable to be able to test whether an entry within a secion exists. This is currently done automatically in the UNSERIALIZE_OPT_SCALAR macro, but it isn't possible to do for arrays, containers, or enums. Instead of adding even more macros, add a helper function (CheckpointIn::entryExists()) that tests for the presence of an entry. Change-Id: I4b4646b03276b889fd3916efefff3bd552317dbc Signed-off-by: Andreas Sandberg Reviewed-by: Nikos Nikoleris --- src/base/inifile.hh | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/base/inifile.hh') diff --git a/src/base/inifile.hh b/src/base/inifile.hh index b4892d60a..447ec7c0f 100644 --- a/src/base/inifile.hh +++ b/src/base/inifile.hh @@ -184,6 +184,12 @@ class IniFile bool find(const std::string §ion, const std::string &entry, std::string &value) const; + /// Determine whether the entry exists within named section exists + /// in the .ini file. + /// @return True if the section exists. + bool entryExists(const std::string §ion, + const std::string &entry) const; + /// Determine whether the named section exists in the .ini file. /// Note that the 'Section' class is (intentionally) not public, /// so all clients can do is get a bool that says whether there -- cgit v1.2.3