blob: ed2399a878112382a7caf8078418a3abe76045e4 [file] [log] [blame]
Brad Bishop26b815f2017-01-04 13:32:47 -05001#pragma once
2
Patrick Williams3667cf32015-10-20 22:39:11 -05003#include <getopt.h>
4#include <map>
5#include <string>
6
7class ArgumentParser
8{
9 public:
10 ArgumentParser(int argc, char** argv);
11 const std::string& operator[](const std::string& opt);
12
13 static void usage(char** argv);
14
15 static const std::string true_string;
16 static const std::string empty_string;
17
18 private:
19 std::map<const std::string, std::string> arguments;
20
21 static const option options[];
22 static const char* optionstr;
23
24 private:
25 ArgumentParser() {};
26};
27
Brad Bishop03476f12016-12-19 13:09:12 -050028// vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4