@@ -9,27 +9,28 @@ Here is a simple example
99#include " argparse.h"
1010
1111int main (int argc, char* argv[ ] ) {
12- // run as: [ program name] -a 1 --flag -v 1 2.7 3 4 9 8.12 87 6 -sdf
13- ArgumentParser parser("Argument parser example");
14- parser.add_argument("-a", "an integer");
15- parser.add_argument("-s", "an combined flag", true);
16- parser.add_argument("-d", "an combined flag", true);
17- parser.add_argument("-f", "an combined flag", true);
18- parser.add_argument("--flag", "a flag");
19- parser.add_argument("-v", "a vector", true);
20- try {
21- parser.parse(argc, argv);
22- } catch (const ArgumentParser::ArgumentException& ex) {
23- std::cout << ex.what() << std::endl;
24- return 0;
25- }
26- if (parser.is_help()) return 0;
27- std::cout << parser.get<int >("a") << std::endl;
28- std::cout << (parser.get<bool >("flag") ? "true" : "false") << std::endl;
29- std::cout << (parser.get<bool >("d") ? "true" : "false") << std::endl;
30- for (auto i : parser.getv<double >("v")) std::cout << i << " : ";
31- std::cout << std::endl;
12+ // run as: [ program name] -a 1 -sdf --flag -v 1 2.7 3 4 9 8.12 87 6
13+ ArgumentParser parser("Argument parser example");
14+ parser.add_argument("-a", "an integer");
15+ parser.add_argument("-s", "an combined flag", true);
16+ parser.add_argument("-d", "an combined flag", true);
17+ parser.add_argument("-f", "an combined flag", true);
18+ parser.add_argument("--flag", "a flag");
19+ parser.add_argument("-v", "a vector", true);
20+ try {
21+ parser.parse(argc, argv);
22+ } catch (const ArgumentParser::ArgumentNotFound& ex) {
23+ std::cout << ex.what() << std::endl;
3224 return 0;
25+ }
26+ if (parser.is_help()) return 0;
27+ std::cout << parser.get<int >("a") << std::endl;
28+ std::cout << (parser.get<bool >("flag") ? "true" : "false") << std::endl;
29+ std::cout << (parser.get<bool >("d") ? "true" : "false") << std::endl;
30+ auto v = parser.getv<double >("v");
31+ std::copy(v.begin(), v.end(), std::ostream_iterator<double >(std::cout, " "));
32+ if (v.size()) std::cout << std::endl;
33+ return 0;
3334}
3435```
3536
0 commit comments