gravatar
alpar (Alpar Juttner)
alpar@cs.elte.hu
Minor doc improvements
0 1 0
default
1 file changed with 3 insertions and 3 deletions:
↑ Collapse diff ↑
Ignore white space 48 line context
... ...
@@ -100,49 +100,49 @@
100 100

	
101 101
    };
102 102
      
103 103
    std::vector<OtherArg> _others_help;
104 104
    std::vector<std::string> _file_args;
105 105
    std::string _command_name;
106 106
    
107 107
  public:
108 108

	
109 109
    ///\e
110 110
    ArgParser(int argc, const char **argv);
111 111

	
112 112
    ~ArgParser();
113 113

	
114 114
    ///Add a new integer type option
115 115

	
116 116
    ///\param name The name of the option. The leading '-' must be omitted.
117 117
    ///\param help A help string.
118 118
    ///\retval value The value of the argument will be written to this variable.
119 119
    ///\param obl Indicate if the option is mandatory.
120 120
    ArgParser &intOption(const std::string &name,
121 121
		    const std::string &help,
122 122
		    int value=0, bool obl=false);
123 123

	
124
    ///Add a new floating type option
124
    ///Add a new floating point type option
125 125

	
126 126
    ///\param name The name of the option. The leading '-' must be omitted.
127 127
    ///\param help A help string.
128 128
    ///\retval value The value of the argument will be written to this variable.
129 129
    ///\param obl Indicate if the option is mandatory.
130 130
    ArgParser &doubleOption(const std::string &name,
131 131
		      const std::string &help,
132 132
		      double value=0, bool obl=false);
133 133

	
134 134
    ///Add a new bool type option
135 135

	
136 136
    ///\param name The name of the option. The leading '-' must be omitted.
137 137
    ///\param help A help string.
138 138
    ///\retval value The value of the argument will be written to this variable.
139 139
    ///\param obl Indicate if the option is mandatory.
140 140
    ////\note A mandatory bool obtion is of very little use.)
141 141
    ArgParser &boolOption(const std::string &name,
142 142
		      const std::string &help,
143 143
		      bool value=false, bool obl=false);
144 144

	
145 145
    ///Add a new string type option
146 146

	
147 147
    ///\param name The name of the option. The leading '-' must be omitted.
148 148
    ///\param help A help string.
... ...
@@ -275,50 +275,50 @@
275 275

	
276 276
    void requiresValue(std::string arg, OptType t);
277 277
    void checkMandatories();
278 278
    
279 279
    ///Start the parsing process
280 280
    ArgParser &parse();
281 281

	
282 282
    /// Synonym for parse()
283 283
    ArgParser &run() 
284 284
    {
285 285
      return parse();
286 286
    }
287 287
    
288 288
    ///Check if an opion has been given to the command.
289 289
    bool given(std::string op) 
290 290
    {
291 291
      Opts::iterator i = _opts.find(op);
292 292
      return i!=_opts.end()?i->second.set:false;
293 293
    }
294 294

	
295 295

	
296 296
    ///Magic type for operator[]
297 297
    
298 298
    ///This is the type of the return value of ArgParser::operator[]().
299
    ///It automatically converts to int, double, bool or std::string, if it
300
    ///match the type of the option, otherwise it throws an exception.
299
    ///It automatically converts to int, double, bool or std::string if
300
    ///the type of the option matches, otherwise it throws an exception.
301 301
    ///(i.e. it performs runtime type checking).
302 302
    class RefType 
303 303
    {
304 304
      ArgParser &_parser;
305 305
      std::string _name;
306 306
    public:
307 307
      ///\e
308 308
      RefType(ArgParser &p,const std::string &n) :_parser(p),_name(n) {}
309 309
      ///\e
310 310
      operator bool() 
311 311
      {
312 312
	Opts::iterator i = _parser._opts.find(_name);
313 313
	LEMON_ASSERT(i==_parser._opts.end(),
314 314
		     std::string()+"Unkown option: '"+_name+"'");
315 315
	LEMON_ASSERT(i->second.type!=ArgParser::BOOL,
316 316
		     std::string()+"'"+_name+"' is a bool option");
317 317
	return *(i->second.bool_p);
318 318
      }
319 319
      ///\e
320 320
      operator std::string()
321 321
      {
322 322
	Opts::iterator i = _parser._opts.find(_name);
323 323
	LEMON_ASSERT(i==_parser._opts.end(),
324 324
		     std::string()+"Unkown option: '"+_name+"'");
0 comments (0 inline)