Class ConfigParser¶
- Defined in File ConfigParser.h
Class Documentation¶
-
class
ConfigParser¶ Stores and parses configuration options from the command line and config files.
Public Functions
-
ConfigParser()¶ default construtor for ConfigOption
-
void
setConfig(const string &file, bool main, bool full_parse = false)¶ Sets the config file the specified string. A boolean is also provided, set equal to true if this is the main command line import. This causes the deletion of the first few command line options after import.
- Parameters
file: the target config file (in .txt format).main: boolean of if this is the main command line import.full_parse: sets bFullParse to provided value
-
void
parseConfig()¶ Reads a config file of a specific configuration. Each section begins with ‘[section_name]’. Each variable is defined as ‘key=value’, and must be one per line Each key’s variable will be read as a string into a KeyOption structure.
-
void
parseConfig(istream &istream1)¶ Reads a config stream of a specific configuration. Each section begins with ‘[section_name]’. Each variable is defined as ‘key=value’, and must be one per line Each key’s variable will be read as a string into a KeyOption structure.
-
vector<SectionOption>
getSectionOptions()¶ Returns the vector of key options imported from the file.
- Return
- vector of key options
-
void
setSectionOption(string section, string reference, string value)¶ Sets the section option with the provided section, key and value.
- Parameters
section: the section namereference: the reference key for the parametervalue: the value of the key
-
SectionOption
operator[](unsigned long index)¶ Gets the SectionOption at the provided index.
- Return
- the section option at the index
- Parameters
index: the index of the SectionOption to obtain, must be less than configs.size()
-
unsigned long
getSectionOptionsSize()¶ Gets the size of the key options vector.
- Return
- the size of the configuration vector.
-
vector<string>
getSections()¶ Gets the sections contained in the SectionOptions object.
- Return
- A vector of the section names.
-
bool
hasSection(const string &sec)¶ Checks whether the config option has the specified section.
- Return
- true if the section has been found
- Parameters
sec: the section name to check for
-
vector<string>
getSectionValues(string sec)¶ Gets all values within a section.
Throws a Config_Exception if the section is not found.
- Return
- a vector of the section’s values.
- Parameters
sec: the section to find values for
-
string
getSectionOptions(string section, string ref)¶ Returns a specific value for a particular key options and reference.
- Return
- the string at the correct place in KeyOptions.val
- Parameters
section: the section to matchref: the reference to match
-
string
getSectionOptions(string section, string ref, string def)¶ Returns a specific value for a particular key options and reference. This overloaded version of the function returns the default value def when no match is found.
- Return
- the string at the correct place in KeyOptions.val
- Parameters
section: the section to matchref: the reference to matchdef: the default value to return if no match is found
-
int
importConfig(vector<string> &comargs)¶ Imports the parameters from the config file and returns an integer of the number of arguments.
- Return
- a count of the number of arguments (should also be the size of comargs).
- Parameters
comargs: a vector of command line arguments to import to from file.
Friends
-
ostream &
operator<<(ostream &os, const ConfigParser &c)¶ Overloading the << operator for outputting to the output stream.
- Return
- os the output stream.
- Parameters
os: the output stream.c: the ConfigOption object.
-
istream &
operator>>(istream &is, ConfigParser &c)¶ Overloading the >> operator for inputting from an input stream. Note that the config file must still exist for re-inport and parsing.
- Return
- is the input stream
- Parameters
is: the input streamc: the ConfigOption object
-