-
Fixes #201. Parse char type correctly and check for length.
-
Fixes #202.
-
Fix CXXOPTS_NO_EXCEPTIONS so that it doesn't warn about unused parameters, and print out error messages.
-
Fixes #197. Don't parse default options twice when there is a short and long option.
-
Install targets will not be generated if this option is set to OFF, which is useful when including it as a bundled dependency of another project.
-
This speeds up the CMake configuration step by not searching for a C compiler. By default, CMake looks for C and C++ compilers, unless a set of compilation languages is specified.
-
Allow adding options with a single initializer list.
-
Some positional parameters would be listed in the help text and others would not, when what is desired is that no positional parameters are listed with the other command options. This change suppresses the help listing for all positional parameters.
-
Improve parsing into std::vector so that a single argument can take a list.
-
These were detected using -fsanitize=undefined parsing values equal to INT_MAX and INT_MIN.
-
* Parse 1 as "true" and 0 as "false" for boolean options.
-
Fixes #171. Allows invalid syntax for short options to be ignored.
-
Fixes #175. This was broken when throwing an exception on missing positional parameters in #169.
-
Fixes #169. It seems reasonable to throw an exception when an attempt is made to parse into positional parameters that don't exist.
-
String literals with the prefix `u8` now have the type `const char8_t[N]` in C++20. As a consequence the library does not compile in c++2a mode with GCC (you can't concatenate `std::basic_string<char>` and `const char8_t[]` as `char` and `char8_t` are different types).
-
Fixes #166.
-
The empty string caused the vector to have one element which caused the test at line 2041 to always fail.
-
Fixes #157. Fix the wording in the README about booleans.
-
Windows is broken and defines `min` and `max` as a macro, adding parentheses stops them from being expanded.
-
g++ 8.2.0 refuses to compile the test suite because of polymorphic types that are caught by value. They shall be caught by reference instead.
-
Fixes #124.
-
Fixes #132. Since the map of options is shared between Options and ParseResult, they should use a shared pointer instead of a reference so that ParseResult can be returned without referencing destroyed memory.
-
Fixes #143. There is no reason to make the tests optional.