diff options
Diffstat (limited to 'tests/optiontester.cpp')
-rw-r--r-- | tests/optiontester.cpp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/optiontester.cpp b/tests/optiontester.cpp new file mode 100644 index 0000000..ccb9579 --- /dev/null +++ b/tests/optiontester.cpp @@ -0,0 +1,29 @@ +#include <cstdio> +#include <algorithm> +#include <iostream> + +#include "cmdoptions.h" + +using namespace std; + +static map<string, CmdOption> options = { + { "test", NO_PARAM("test") }, + { "test2", HAS_PARAM("test2") }, +}; + +int main(int argc, char **argv) +{ + CmdOptions opts(argc, argv, options); + + if (opts.error().length()) { + cerr << opts.error() << opts.usage(); + return -1; + } + + for (auto p : options) + printf("Option %s set %d param %s\n", + p.first.c_str(), opts.is_set(p.first), + opts.opt_param(p.first).c_str());; + + return 0; +} |