Generic parser object for options. More...
OptionReader
, i.e. either a CommandLineReader
or a ConfigFileReader
. Option
objects we are holding. OptionReader
object we will use to read-in the options, either a CommandLineReader
or a ConfigFileReader
Generic parser object for options.
Uses an object of type util::OptionReader to retrieve the options from whereever (config file, command-line, etc.)
typedef map<string,Option*> util::OptionParser::omap [protected] |
typedef map<int,Option*> util::OptionParser::onmap [protected] |
util::OptionParser::OptionParser | ( | OptionReader * | reader | ) |
construct using an OptionReader
, i.e. either a CommandLineReader
or a ConfigFileReader
.
virtual util::OptionParser::~OptionParser | ( | ) | [virtual] |
util::OptionParser::OptionParser | ( | const OptionParser & | other | ) |
copy ctor.
void util::OptionParser::deleteOptions | ( | void | ) |
delete all the Option
objects we are holding.
void util::OptionParser::changeReader | ( | OptionReader * | reader | ) |
switch the OptionReader
to a different one, used when first reading a config file and then allowing to override option on the command line.
void util::OptionParser::addOption | ( | Option * | option | ) |
add an option to our list of accepted options.
Option* util::OptionParser::getOption | ( | const string & | name | ) |
retrieve an option by its name.
const list<string> util::OptionParser::getOptionNames | ( | ) | const |
retrieve a list of the option names.
void util::OptionParser::parseOptions | ( | ) | throw ( UException ) |
read the options, parse them, and set their values.
void util::OptionParser::printUsage | ( | ostream & | os | ) | const |
pretty-print the options, their descriptions, and default values in a format similar to man pages. automatic formatting and line-breaking. very nice!
void util::OptionParser::writeConfig | ( | const string & | filename, | |
const bool | withComment = true , |
|||
const bool | order_by_n = true | |||
) | const throw ( UException ) |
write out the options in a format compatible with the ConfigFileReader
. Convenient way to create a default config file. order_by_n
specifies the order the options were added, otherwise alphabetic by name.
string util::OptionParser::toString | ( | const bool | withComment = false |
) | const throw ( UException ) |
get a string representation.
OptionReader* util::OptionParser::reader_ [protected] |
the OptionReader
object we will use to read-in the options, either a CommandLineReader
or a ConfigFileReader
omap util::OptionParser::options_ [protected] |
holds all options we know of indexed by name
omap util::OptionParser::cmd_options_ [protected] |
index of options by command line character
onmap util::OptionParser::n_options_ [protected] |
holds options indexed by order of definition
int util::OptionParser::nopts_ [protected] |
number of options