libargparse is a command line argument parser library in C++

The ArgParse class allows you to specify names of options that you
want parsed, along with a usage message for them.  Options come in
four flavors:  flag, int, float, and string.  Flags don't take
arguments, but the other kinds do.  For an option that takes an
argument, it can be specified with an equals sign, with a colon, or by
putting it in the next element of argv.  ("--foo=stuff",
"--foo:stuff", or "--foo stuff", respectively)

The flavors that take arguments also come in array flavors.  With an
array, you specify a pointer to a vector of the basic type, instead of
just a pointer to a basic type.  This allows the option to appear more
than once, and the new values are appended to the array.  Optionally,
you can also specify a separator character, so that multiple array
elements can be parsed up from a single instance of the option.

Options can start with either a single dash or a double dash, but see
allowOneCharOptionsToBeCombined() for more information.

Homepage:
https://www.aqsis.org/
