Commit 2c15786bca69cd5342eaa6a44593e2b9d42e8c99
Committed by
GitHub
1 parent
05867beb
Adding one more library listing
Showing
1 changed file
with
3 additions
and
1 deletions
README.md
| @@ -31,7 +31,7 @@ An acceptable CLI parser library should be all of the following: | @@ -31,7 +31,7 @@ An acceptable CLI parser library should be all of the following: | ||
| 31 | * Work with standard types, simple custom types, and extendible to exotic types. | 31 | * Work with standard types, simple custom types, and extendible to exotic types. |
| 32 | * Permissively licenced. | 32 | * Permissively licenced. |
| 33 | 33 | ||
| 34 | -The major CLI parsers for C++ include: | 34 | +The major CLI parsers for C++ include (with my biased opinions): |
| 35 | 35 | ||
| 36 | * [Boost Program Options]: A great library if you already depend on Boost, but its pre-C++11 syntax is really odd and setting up the correct call in the main function is poorly documented (and is nearly a page of code). A simple wrapper for the Boost library was originally developed, but was discarded as CLI11 became more powerful. The idea of capturing a value and setting it originated with Boost PO. | 36 | * [Boost Program Options]: A great library if you already depend on Boost, but its pre-C++11 syntax is really odd and setting up the correct call in the main function is poorly documented (and is nearly a page of code). A simple wrapper for the Boost library was originally developed, but was discarded as CLI11 became more powerful. The idea of capturing a value and setting it originated with Boost PO. |
| 37 | * [The Lean Mean C++ Option Parser]: One header file is great, but the syntax is atrocious, in my opinion. It was quite impractical to wrap the syntax or to use in a complex project. It seems to handle standard parsing quite well. | 37 | * [The Lean Mean C++ Option Parser]: One header file is great, but the syntax is atrocious, in my opinion. It was quite impractical to wrap the syntax or to use in a complex project. It seems to handle standard parsing quite well. |
| @@ -40,6 +40,7 @@ The major CLI parsers for C++ include: | @@ -40,6 +40,7 @@ The major CLI parsers for C++ include: | ||
| 40 | * [DocOpt]: Completely different approach to program options in C++11, you write the docs and the interface is generated. Too fragile and specialized. | 40 | * [DocOpt]: Completely different approach to program options in C++11, you write the docs and the interface is generated. Too fragile and specialized. |
| 41 | * [GFlags]: The Google Commandline Flags library. Uses macros heavily, and is limited in scope, missing things like subcommands. It provides a simple syntax and supports config files/env vars. | 41 | * [GFlags]: The Google Commandline Flags library. Uses macros heavily, and is limited in scope, missing things like subcommands. It provides a simple syntax and supports config files/env vars. |
| 42 | * [GetOpt]: Very limited C solution with long, convoluted syntax. Does not support much of anything, like help generation. Always available on UNIX, though (but in different flavors). | 42 | * [GetOpt]: Very limited C solution with long, convoluted syntax. Does not support much of anything, like help generation. Always available on UNIX, though (but in different flavors). |
| 43 | +* [ProgramOptions.hxx]: Intresting library, less powerful and no subcommands. | ||
| 43 | 44 | ||
| 44 | None of these libraries fulfill all the above requirements. As you probably have already guessed, CLI11 does. | 45 | None of these libraries fulfill all the above requirements. As you probably have already guessed, CLI11 does. |
| 45 | So, this library was designed to provide a great syntax, good compiler compatibility, and minimal installation fuss. | 46 | So, this library was designed to provide a great syntax, good compiler compatibility, and minimal installation fuss. |
| @@ -307,3 +308,4 @@ CLI11 was developed at the [University of Cincinnati] to support of the [GooFit] | @@ -307,3 +308,4 @@ CLI11 was developed at the [University of Cincinnati] to support of the [GooFit] | ||
| 307 | [NSF Award 1414736]: https://nsf.gov/awardsearch/showAward?AWD_ID=1414736 | 308 | [NSF Award 1414736]: https://nsf.gov/awardsearch/showAward?AWD_ID=1414736 |
| 308 | [University of Cincinnati]: http://www.uc.edu | 309 | [University of Cincinnati]: http://www.uc.edu |
| 309 | [GitBook]: https://henryiii.gitbooks.io/cli11/content | 310 | [GitBook]: https://henryiii.gitbooks.io/cli11/content |
| 311 | +[ProgramOptions.hxx]: https://github.com/Fytch/ProgramOptions.hxx |