Changeset 2410:fe46b61da4e3 in lemon-0.x for lemon/arg_parser.cc
- Timestamp:
- 03/14/07 19:01:04 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3241
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/arg_parser.cc
r2406 r2410 27 27 } 28 28 29 ArgParser::ArgParser(int argc, c har **argv) :_argc(argc), _argv(argv),30 29 ArgParser::ArgParser(int argc, const char **argv) :_argc(argc), _argv(argv), 30 _command_name(argv[0]) { 31 31 funcOption("-help","Print a short help message",_showHelp,this); 32 32 synonym("help","-help"); … … 135 135 136 136 ArgParser &ArgParser::refOption(const std::string &name, 137 138 137 const std::string &help, 138 double &ref, bool obl) 139 139 { 140 140 ParData p; … … 149 149 150 150 ArgParser &ArgParser::refOption(const std::string &name, 151 152 151 const std::string &help, 152 bool &ref, bool obl) 153 153 { 154 154 ParData p; … … 198 198 { 199 199 Opts::iterator i = _opts.find(opt); 200 if(i==_opts.end()) throw LogicError(); 201 else if(i->second.ingroup) throw LogicError(); 202 else { 203 GroupData &g=_groups[group]; 204 g.opts.push_back(opt); 205 i->second.ingroup=true; 206 } 200 LEMON_ASSERT(i!=_opts.end(), "Unknown option: '"+opt+"'"); 201 LEMON_ASSERT(!(i->second.ingroup), 202 "Option already in option group: '"+opt+"'"); 203 GroupData &g=_groups[group]; 204 g.opts.push_back(opt); 205 i->second.ingroup=true; 207 206 return *this; 208 207 } … … 220 219 Opts::iterator o = _opts.find(opt); 221 220 Opts::iterator s = _opts.find(syn); 222 if(o==_opts.end()||s!=_opts.end()) 223 throw LogicError(); 224 else { 225 ParData p; 226 p.help=opt; 227 p.mandatory=false; 228 p.syn=true; 229 _opts[syn]=p; 230 o->second.has_syn=true; 231 } 221 LEMON_ASSERT(o!=_opts.end(), "Unknown option: '"+opt+"'"); 222 LEMON_ASSERT(s==_opts.end(), "Option already used: '"+syn+"'"); 223 ParData p; 224 p.help=opt; 225 p.mandatory=false; 226 p.syn=true; 227 _opts[syn]=p; 228 o->second.has_syn=true; 232 229 return *this; 233 230 }
Note: See TracChangeset
for help on using the changeset viewer.