Skip to content

v2.4.0

Choose a tag to compare

@SpectraL519 SpectraL519 released this 11 Aug 22:10
· 18 commits to master since this release

Value handling improvement

Aligned argument value setting to use direct value_type object initialization from std::string values if possible (arguments, the value type of which cannot be constructed from std::string will use the istream>> operator as in previous versions)

NOTE: This fixes the issue, where passing a mulit-word optional argument's value, e.g.
./program --option "single value with spaces"
would result in storing only the first word of the value ("single" in this case)

Unknown flag handling alignment

In previous versions a command-line argument prefixed with -- or - and a value that did not match any of the specified arguments, it was treated as a value token. Currently a parsing_failre exception is thrown for such unknown argument flags by default, but the behavior can be changed to what it was in the previous versions by using the AP_UNKNOWN_FLAGS_AS_VALUES macro.

Other

  • Modified the test building to compile each test file into a separate executable registered with CTest
  • Corrected the argument value type requirements description in the tutorial document - previously the std::ostream& operator<< was used in the description instead of std::istream& operator>>