64 virtual const char *
curr(
void) = 0;
67 virtual void next(
void) = 0;
84 virtual const char *
curr(
void) = 0;
86 virtual void next(
void) = 0;
91 virtual void rewind(
void) = 0;
102 const char *
const *av;
121 virtual const char *
curr(
void);
123 virtual void next(
void);
127 virtual void rewind(
void);
144 static const char *default_delims;
147 OptStrTokIter(
const char *tokens,
const char *delimiters = 0);
151 virtual const char *
curr(
void);
153 virtual void next(
void);
157 virtual void rewind(
void);
163 void delimiters(
const char *delims) { seps = (delims) ? delims : default_delims; }
190 static const unsigned MAX_LINE_LEN;
196 virtual const char *
curr(
void);
198 virtual void next(
void);
368 unsigned explicit_end : 1;
369 unsigned optctrls : 7;
370 const char *
const *optvec;
371 const char *nextchar;
375 void check_syntax(
void)
const;
377 const char *match_opt(
char opt,
int ignore_case = 0)
const;
379 const char *match_longopt(
const char *opt,
int len,
int &ambiguous)
const;
381 int parse_opt(
OptIter &iter,
const char *&optarg);
383 int parse_longopt(
OptIter &iter,
const char *&optarg);
422 Options(
const char *name,
const char *
const optv[]);
427 const char *
name(
void)
const {
return cmdname; }
430 unsigned ctrls(
void)
const {
return optctrls; }
433 void ctrls(
unsigned newctrls) { optctrls = newctrls; }
436 void reset(
void) { nextchar = listopt = NULL; }
440 void usage(std::ostream &os,
const char *positionals)
const;
Definition: options.h:135
parse command-line options
Definition: options.h:365
const char * delimiters(void)
Definition: options.h:161
Definition: options.h:181
const char * name(void) const
name() returns the command name
Definition: options.h:427
int index(void)
index returns the current index to use for argv[]
Definition: options.h:130
virtual const char * operator()(void)
Definition: options.cpp:119
virtual void next(void)=0
next() advances to the next item.
OptRC
Definition: options.h:413
int explicit_endopts() const
Definition: options.h:476
unsigned ctrls(void) const
ctrls() (with no arguments) returns the existing control settings
Definition: options.h:430
void ctrls(unsigned newctrls)
ctrls() (with 1 argument) sets new control settings
Definition: options.h:433
virtual const char * curr(void)=0
OptCtrl
Definition: options.h:386
void reset(void)
reset for another pass to parse for options
Definition: options.h:436