#include <conf.hh>
Public Types | |
typedef std::map< unsigned char, int > | ShortMap |
A type for mapping short option names to option indices. | |
typedef std::map< std::string, int > | LongMap |
A type for mapping long option names to option indices. | |
Public Member Functions | |
Config () | |
Create an empty config. | |
Config & | operator() (std::string usage) |
Add a usage line for the help screen. | |
Config & | operator() (unsigned char short_name, std::string long_name, std::string type="", std::string default_value="", std::string help="") |
Add a new option. | |
void | parse (int argc, char *argv[], bool override=true) |
Parse command line arguments. | |
void | read (FILE *file, bool override=false) |
Read a config file. | |
void | check_required () const |
Check if all required options are specified. | |
std::string | help_string () const |
Returns the usage information. | |
const Option & | operator[] (unsigned char short_name) const |
Get a value of an option. | |
const Option & | operator[] (std::string long_name) const |
Get a value of an option. | |
Public Attributes | |
std::string | usage_line |
Usage line printed in help if specified. | |
std::vector< Option > | options |
Options added to the configuration. | |
ShortMap | short_map |
Mapping short names to options. | |
LongMap | long_map |
Mapping long names to options. | |
std::vector< std::string > | arguments |
Rest of the non-option arguments. | |
int | longest_name_length |
The length of the longest long name. |
|
Add a new option.
|
|
Parse command line arguments.
|
|
Read a config file. The config file can contain command line arguments almost as if they were specified on the command line. The only difference is that quotation marks \, ', " are interpreted by the function. All quotation marks can be used to quote other quotation marks, and backslash can be used to quote backslash too. Unless quoted, whitespace (tab, space, newline) separate arguments.
|