-
Notifications
You must be signed in to change notification settings - Fork 0
Examples
simfeo edited this page Feb 22, 2022
·
15 revisions
#include <iostream>
#include "ArgParse/argparse.h"
int main(int argc, char** argv)
{
auto parser = argparse::ArgumentParser("Program name").SetDescription("Description of program");
parser.AddArgument(argparse::CreateNamedArgument().SetLongName("numbers").SetAnyNumberOfArgumentsButAtleastOne().SetType(argparse::ArgTypeCast::e_int));
parser.AddArgument(argparse::CreateNamedArgument()
.SetLongName("some_boring_long_name")
.SetAnyNumberOfArgumentsButAtleastOne()
.SetType(argparse::ArgTypeCast::e_int)
.SetHelp("some_boring_long_name description with some important information for user.")
.SetRequired(false));
auto obj = parser.ParseArgs(argc, argv);
if (obj.IsArgValid())
{
auto arg = obj.GetArg("numbers");
if (arg.GetArgumentExists())
{
for (auto& el : arg.GetAsVecInt())
{
std::cout << el << std::endl;
}
}
}
else
{
std::string help = parser.GetHelp(80);
std::cout << help << std::endl;
}
return 0;
}