forked from jarro2783/cxxopts
-
Notifications
You must be signed in to change notification settings - Fork 0
Lightweight C++ command line option parser
License
git-rb/cxxopts
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
== Quick start == This is a lightweight C++ option parser library, supporting the standard GNU style syntax for options. Options can be given as: --long --long=argument --long argument -a -ab -abc argument where c takes an argument, but a and b do not. How to use: #include <cxxopts.hpp> Create a cxxopts::Options instance. cxxopts::Options options; Then use add_options. options.add_options() ("d,debug", "Enable debugging") ("f,file", "File name", cxxopts::value<std::string>()) Options can be declared with a short and/or long option. A description must be provided. The third argument is the value, if omitted it is boolean. Any type can be given as long as it can be parsed, with operator>>. To parse the command line do: options.parse(argc, argv); To retrieve an option use options.count("option") to get the number of times it appeared, and options["opt"].as<type>() to get its value. If "opt" doesn't exist, or isn't of the right type, then an exception will be thrown. == Linking == This is a header only library. == Requirements == The only build requirement is a C++ compiler that supports C++11 regular expressions. For example GCC >= 4.9 or clang with libc++. == TODO list == * Allow unrecognised options. * Various help strings. * Unicode aware for help strings.
About
Lightweight C++ command line option parser
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published
Languages
- C++ 90.7%
- CMake 9.3%