24 #ifndef __UTILS_SYSTEM_ARGPARSER_H_ 25 #define __UTILS_SYSTEM_ARGPARSER_H_ 27 #include <core/exception.h> 29 #include <utils/misc/string_compare.h> 48 append(
"Unknown option '%c'", c);
61 append(
"Option '%c' requires an argument", c);
70 const char *opt_string, option *long_options = NULL);
73 bool has_arg(
const char *argn);
74 const char * arg(
const char *argn);
75 bool arg(
const char *argn,
char **value);
76 const char * program_name()
const;
78 bool parse_hostport(
const char *argn,
char **host,
unsigned short int *port);
79 bool parse_hostport(
const char *argn, std::string &host,
unsigned short int &port);
80 long int parse_int(
const char *argn);
81 double parse_float(
const char *argn);
83 long int parse_item_int(
unsigned int index);
84 double parse_item_float(
unsigned int index);
86 const std::vector< const char * > & items()
const;
87 std::vector< const char * >::size_type num_items()
const;
91 const char ** argv()
const;
96 {
return __opt_string; }
101 {
return __long_opts; }
104 std::map<std::string, const char *> __opts;
105 std::map<std::string, const char *> __opts_cit;
106 std::vector< const char * > __items;
108 char * __program_name;
112 std::string __opt_string;
113 std::vector<option> __long_opts;
Thrown if required argument was missing.
Fawkes library namespace.
Parse command line arguments.
std::string get_optstring() const
Get option string.
UnknownArgumentException(char c)
Constructor.
MissingArgumentException(char c)
Constructor.
Base class for exceptions in Fawkes.
std::vector< option > get_long_opts() const
Get long option configuration.
Thrown if unknown argument was supplied.
void append(const char *format,...)
Append messages to the message list.