Skip to content

SiLeader/argparse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

argparse: Python like C++ Argument parser

© 2018 SiLeader.

features

  • only one header file.
  • simular with Python's argparse module

usage

#include "argparse.hpp"

int main(int argc, char** argv) {
    argparse::ArgumentParser parser("test", "argparse test program", "Apache License 2.0");

    parser.addArgument({"--value", "--set-value"}, "set value");
    parser.addArgument({"--flag"}, "flag", argparse::ArgumentType::StoreTrue);
    parser.addArgument({"--value-default", "--value-with-default-value"}, "set value or use default value");

    auto args = parser.parseArgs(argc, argv);

    std::cout << std::boolalpha;
    std::cout << "value: " << args.get<std::string>("value") << std::endl;
    std::cout << "flag:  " << args.has("flag") << std::endl;
    std::cout << "value(default='abc'): " << args.safeGet<std::string>("value-default", "abc") << std::endl;
}

run COMMAND -h on shell

usage: test [OPTIONS]...

argparse test program

keyword arguments:
  --help, -h                                              : show this help
  --value VALUE, --set-value VALUE                        : set value
  --flag                                                  : flag
  --value-default VALUE, --value-with-default-value VALUE : set value or use default value

Apache License 2.0

run COMMAND --value=argparse on shell

value: argparse
flag:  false
value(default='abc'): abc

run COMMAND --value argparse --flag on shell

value: argparse
flag:  true
value(default='abc'): abc

run COMMAND --value=argparse --flag --value-default parser on shell

value: argparse
flag:  true
value(default='abc'): parser

license

Apache License 2.0

About

Python like C++ Argument parser

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages