1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
/*
20110505 rsz Created.
*/
#include <stdio.h>
#include "ezOptionParser.hpp"

using namespace ez;

int main(int argc, const char * argv[]) {
	ezOptionParser opt;

	opt.overview = "Demo of pretty printing everything parsed for debugging.";
	opt.syntax = "pretty [OPTIONS]";
	opt.example = "pretty foo bar --print -fake --dummy -list 1:2:4:8:16 in1 in2 in3 out\n";

	opt.add(
		"", // Default.
		0, // Required?
		0, // Number of args expected.
		0, // Delimiter if expecting multiple args.
		"Print all inputs and their category.", // Help description.
		"-p",     // Flag token. 
		"-prn",   // Flag token.
		"--print" // Flag token.
	);

	opt.add(
		"", // Default.
		0, // Required?
		-1, // Number of args expected.
		':', // Delimiter if expecting multiple args.
		"Colon delimited tuple of any length.", // Help description.
		"-l", // Flag token.
		"-lst", // Flag token.
		"-list", // Flag token.
		"--list" // Flag token.
	);

	opt.parse(argc, argv);

	if (opt.isSet("-p")) {
		std::string pretty;
		opt.prettyPrint(pretty);
		std::cout << pretty;
	}

	std::vector<int> list;
	opt.get("-lst")->getInts(list);
	std::cout << "\nList:";
	for(int j=0; j < list.size(); ++j)
		std::cout << " " << list[j];
		
	std::cout << std::endl;

	return 0;
}