Changeset 2407:fb2052c94ebd in lemon-0.x
- Timestamp:
- 03/13/07 16:35:56 (17 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@3238
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/arg_parser.h
r2406 r2407 311 311 { 312 312 Opts::iterator i = _parser._opts.find(_name); 313 if(i==_parser._opts.end()) throw LogicError(); 314 else if(i->second.type!=ArgParser::BOOL) 315 throw LogicError(); 316 else return *(i->second.bool_p); 313 LEMON_ASSERT(i==_parser._opts.end(), 314 std::string()+"Unkown option: '"+_name+"'"); 315 LEMON_ASSERT(i->second.type!=ArgParser::BOOL, 316 std::string()+"'"+_name+"' is a bool option"); 317 return *(i->second.bool_p); 317 318 } 318 319 ///\e … … 320 321 { 321 322 Opts::iterator i = _parser._opts.find(_name); 322 if(i==_parser._opts.end()) throw LogicError(); 323 else if(i->second.type!=ArgParser::STRING) 324 throw LogicError(); 325 else return *(i->second.string_p); 323 LEMON_ASSERT(i==_parser._opts.end(), 324 std::string()+"Unkown option: '"+_name+"'"); 325 LEMON_ASSERT(i->second.type!=ArgParser::STRING, 326 std::string()+"'"+_name+"' is a string option"); 327 return *(i->second.string_p); 326 328 } 327 329 ///\e … … 329 331 { 330 332 Opts::iterator i = _parser._opts.find(_name); 331 if(i==_parser._opts.end()) throw LogicError(); 332 else if(i->second.type!=ArgParser::DOUBLE) 333 throw LogicError(); 334 else return *(i->second.double_p); 333 LEMON_ASSERT(i==_parser._opts.end(), 334 std::string()+"Unkown option: '"+_name+"'"); 335 LEMON_ASSERT(i->second.type!=ArgParser::DOUBLE, 336 std::string()+"'"+_name+"' is a floating point option"); 337 return *(i->second.double_p); 335 338 } 336 339 ///\e … … 338 341 { 339 342 Opts::iterator i = _parser._opts.find(_name); 340 if(i==_parser._opts.end()) throw LogicError(); 341 else if(i->second.type!=ArgParser::INTEGER) 342 throw LogicError(); 343 else return *(i->second.int_p); 343 LEMON_ASSERT(i==_parser._opts.end(), 344 std::string()+"Unkown option: '"+_name+"'"); 345 LEMON_ASSERT(i->second.type!=ArgParser::INTEGER, 346 std::string()+"'"+_name+"' is an integer option"); 347 return *(i->second.int_p); 344 348 } 345 349
Note: See TracChangeset
for help on using the changeset viewer.