C++ command line argument parser similiar to Python's argparse
#include <argparse/ArgumentParser.hpp>
using namespace argparse;
using namespace Argv;
int Main(Argv argv)
{
ArgumentParser parser("My program");
parser.add_version("1.0");
parser.add_help();
parser.add(Argument("arg1")
// .action(argparse.Store) by default
.type<std::string>()
.help("First argument")
);
parser.add(Argument("--opt1")
.alias("-o")
.action(argparse.StoreTrue)
// .type<std::bool>() by default
.help("Optional argument")
);
parser.add(Argument("--opt2")
.type<int>()
.base(10) // default value
);
ParsedArgs args = parser.parse(argv);
std::string arg1 = args["arg1"];
if (args["opt1"])
{
int opt2 = args["opt2"];
}
return 0;
}
- Using Argv Main