17 const std::string&
usage = std::string(),
18 const std::string& description = std::string(),
19 const std::string& longDescription = std::string())
20 : T(mman, name,
usage, description, longDescription) {}
25 return T::parse(list, begin);
77 opts.push_back(
"ciaps");
79 opts.push_back(
"cippo");
80 opts.push_back(
"foobar");
95 opts.push_back(
"cippo");
96 opts.push_back(
"foobar");
97 opts.push_back(
"--cabal");
100 engine.no_switches_after_first_arg =
true;
112 opts.push_back(
"-a");
113 opts.push_back(
"foobar");
126 opts.push_back(
"-ab");
127 opts.push_back(
"cippo");
139 opts.push_back(
"--an-tani");
140 opts.push_back(
"foobar");
154 opts.push_back(
"--blinda=cippo");
155 opts.push_back(
"foobar");
156 opts.push_back(
"--antani");
169 opts.push_back(
"--yell=foo");
170 opts.push_back(
"mess");
171 opts.push_back(
"-r");
188 opts.push_back(
"--yell=foo");
189 opts.push_back(
"fix");
190 opts.push_back(
"--help");
191 opts.push_back(
"-Q");
208 opts.push_back(
"--help");
225 Public<Engine> engine(&mman,
"test",
"[options]",
"test engine",
"this is the long description of a test engine");
235 opts.push_back(
"--testbool=true");
236 opts.push_back(
"--testint=3");
237 opts.push_back(
"--teststring=antani");
238 opts.push_back(
"--testbool1=true");
239 opts.push_back(
"--testint1=5");
240 opts.push_back(
"--teststring1=blinda");
Definition engine.test.h:30
Engine1()
Definition engine.test.h:34
StringOption * blinda
Definition engine.test.h:43
BoolOption * antani
Definition engine.test.h:42
Definition engine.test.h:47
StringOption * scramble_yell
Definition engine.test.h:68
BoolOption * help
Definition engine.test.h:65
Engine * scramble
Definition engine.test.h:66
Engine * fix
Definition engine.test.h:69
StringOption * fix_yell
Definition engine.test.h:71
Engine2()
Definition engine.test.h:51
BoolOption * fix_quick
Definition engine.test.h:70
BoolOption * scramble_random
Definition engine.test.h:67
Definition engine.test.h:14
Public(MemoryManager *mman=0, const std::string &name=std::string(), const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
Definition engine.test.h:16
ArgList::iterator parseList(ArgList &list)
Definition engine.test.h:22
ArgList::iterator parse(ArgList &list, ArgList::iterator begin)
Definition engine.test.h:23
Boolean option.
Definition options.h:135
Parse commandline options.
Definition engine.h:39
Engine * addEngine(const std::string &name, const std::string &usage=std::string(), const std::string &description=std::string(), const std::string &longDescription=std::string())
Create a Engine and add it to this engine as a command.
Definition engine.h:182
std::vector< std::string > aliases
Definition engine.h:221
void add(const std::string &alias, Engine *o)
Definition engine.cpp:39
Keep track of various wibble::commandline components, and deallocate them at object destruction.
Definition core.h:63
Group related commandline options.
Definition options.h:360
Option * add(Option *o)
Definition options.h:368
void addAlias(char c)
Definition options.h:113
void usage(ostream &out, const string &argv0)
Definition commandline-demo.cpp:75
Definition engine.test.h:74
Test longOptsWithArgs()
Definition engine.test.h:152
Test optsOnly()
Definition engine.test.h:110
Test commandWithArg()
Definition engine.test.h:167
Test optsAndArgs()
Definition engine.test.h:75
Test noSwitchesAfterFirstArg()
Definition engine.test.h:92
Test creationShortcuts()
Definition engine.test.h:223
Test longOptsWithDashes()
Definition engine.test.h:137
Test clusteredShortOpts()
Definition engine.test.h:124
Test commandsWithoutCommand()
Definition engine.test.h:206
Test commandsWithOverlappingArgs()
Definition engine.test.h:186
#define assert_eq(x, y)
Definition test.h:33
#define assert(x)
Definition test.h:30