53 return options[i].values.front();
70 options[i].values.push_back(value);
87 return options[i].values.front();
91 const std::string &option)
const 100 for(
unsigned i=0; i<
options.size(); i++)
109 for(
unsigned i=0; i<
options.size(); i++)
110 if(
options[i].optstring==option)
120 while(optstring[0]!=0)
124 if(optstring[0]==
':')
126 std::cerr <<
"cmdlinet::parse: Invalid option string\n";
130 if(optstring[0]==
'(')
137 for(optstring++; optstring[0]!=
')' && optstring[0]!=0; optstring++)
140 if(optstring[0]==
')')
153 if(optstring[0]==
':')
164 for(
int i=1; i<argc; i++)
167 args.push_back(argv[i]);
172 if(argv[i][1]!=0 && argv[i][2]==0)
174 else if(argv[i][1]==
'-')
191 if(argv[i][2]==0 ||
options[optnr].islong)
196 if(argv[i][0]==
'-' && argv[i][1]!=0)
198 options[optnr].values.push_back(argv[i]);
201 options[optnr].values.push_back(argv[i]+2);
const std::list< std::string > & get_values(const std::string &option) const
std::string get_value(char option) const
virtual bool parse(int argc, const char **argv, const char *optstring)
virtual bool isset(char option) const
virtual void set(const std::string &option)
int getoptnr(char option) const
std::vector< optiont > options