46 virtual const char *
curr(
void) = 0;
49 virtual void next(
void) = 0;
66 virtual const char *
curr(
void) = 0;
68 virtual void next(
void) = 0;
73 virtual void rewind(
void) = 0;
84 const char *
const *av;
103 virtual const char *
curr(
void);
105 virtual void next(
void);
109 virtual void rewind(
void);
126 static const char *default_delims;
129 OptStrTokIter(
const char *tokens,
const char *delimiters = 0);
133 virtual const char *
curr(
void);
135 virtual void next(
void);
139 virtual void rewind(
void);
144 void delimiters(
const char *delims) { seps = (delims) ? delims : default_delims; }
171 static const unsigned MAX_LINE_LEN;
177 virtual const char *
curr(
void);
179 virtual void next(
void);
349 unsigned explicit_end : 1;
350 unsigned optctrls : 7;
351 const char *
const *optvec;
352 const char *nextchar;
356 void check_syntax(
void)
const;
358 const char *match_opt(
char opt,
int ignore_case = 0)
const;
360 const char *match_longopt(
const char *opt,
int len,
int &ambiguous)
const;
362 int parse_opt(
OptIter &iter,
const char *&optarg);
364 int parse_longopt(
OptIter &iter,
const char *&optarg);
403 Options(
const char *name,
const char *
const optv[]);
408 const char *
name(
void)
const {
return cmdname; }
410 unsigned ctrls(
void)
const {
return optctrls; }
412 void ctrls(
unsigned newctrls) { optctrls = newctrls; }
414 void reset(
void) { nextchar = listopt = NULL; }
417 void usage(std::ostream &os,
const char *positionals)
const;
Definition: apps/elftosb/common/options.h:117
parse command-line options
Definition: apps/elftosb/common/options.h:346
Definition: apps/elftosb/common/options.h:79
const char * delimiters(void)
Definition: apps/elftosb/common/options.h:143
Definition: apps/elftosb/common/options.h:162
const char * name(void) const
name() returns the command name
Definition: apps/elftosb/common/options.h:408
int index(void)
index returns the current index to use for argv[]
Definition: apps/elftosb/common/options.h:112
virtual const char * operator()(void)
Definition: apps/elftosb/common/options.cpp:108
virtual void next(void)=0
next() advances to the next item.
OptRC
Definition: apps/elftosb/common/options.h:394
Definition: apps/elftosb/common/options.h:59
int explicit_endopts() const
Definition: apps/elftosb/common/options.h:453
unsigned ctrls(void) const
ctrls() (with no arguments) returns the existing control settings
Definition: apps/elftosb/common/options.h:410
void ctrls(unsigned newctrls)
ctrls() (with 1 argument) sets new control settings
Definition: apps/elftosb/common/options.h:412
virtual const char * curr(void)=0
OptCtrl
Definition: apps/elftosb/common/options.h:367
void reset(void)
reset for another pass to parse for options
Definition: apps/elftosb/common/options.h:414
Definition: apps/elftosb/common/options.h:37