File optionsreader.hxx#

class OptionsReader#
#include <optionsreader.hxx>

Class to handle reading options from file

Example

Options opt; OptionsReader::getInstance()->read(&opt, “somefile.inp”);

opt now contains a tree of sections and options from the input file “somefile.inp”

Public Functions

void read(Options *options, const std::string &filename)#

Read the given file, parse options into the options tree.

Parameters:
  • options[inout] The options section to insert values and subsections into

  • file[in] The name of the file. printf style arguments can be used to create the file name.

template<class S, class ...Args>
inline void read(Options *options, const S &format, const Args&... args)#
void write(Options *options, const std::string &filename)#

Write options to file

Parameters:
  • options[in] The options tree to be written

  • file[in] The name of the file to (over)write

template<class S, class ...Args>
inline void write(Options *options, const S &format, const Args&... args)#
void parseCommandLine(Options *options, int argc, char **argv)#

Parse options from the command line

Example

int main(int argc, char** argv) { Options opt; OptionsReader::getInstance()->read(&opt, argc, argv); … return 0; }

Parameters:
  • options[inout] The options section to insert values and subsections into

  • argc[in] The number of command-line arguments

  • argv[in] The command line arguments

void parseCommandLine(Options *options, const std::vector<std::string> &argv)#

Public Static Functions

static OptionsReader *getInstance()#

Return a pointer to the instance singleton.

static inline void cleanup()#

Delete the instance.

Private Static Attributes

static OptionsReader *instance = nullptr#

The instance of this singleton.