30 #ifndef __CLAW_ARGUMENTS_HPP__
31 #define __CLAW_ARGUMENTS_HPP__
54 std::map< std::string, std::list<std::string> > valued_arguments_map;
58 explicit arguments(
const std::string& prog_name );
63 void parse(
int& argc,
char** &argv );
64 void parse(
int& argc,
char** &argv,
67 bool has_value(
const std::string& arg_name )
const;
73 bool get_bool(
const std::string& arg_name )
const;
74 int get_integer(
const std::string& arg_name )
const;
75 double get_real(
const std::string& arg_name )
const;
76 const std::string&
get_string(
const std::string& arg_name )
const;
80 std::list<std::string>
86 void parse(
int& argc,
char** &argv,
bool always_allowed,
89 (
const std::string& arg, std::string& name, std::string& value )
const;
91 void remove_null_arguments(
int& argc,
char** &argv )
const;
94 (
char* &arg,
bool always_allowed,
99 std::string m_program_name;
105 valued_arguments_map m_pairs;
110 #endif // __CLAW_ARGUMENTS_HPP__