Skip to content

v1.0.0

Latest
Compare
Choose a tag to compare
@Fytch Fytch released this 29 Jan 18:17
· 4 commits to master since this release

Improvements

  • ⚠️ Breaking: retire the PROGRAMOPTIONS_SILENT macro and instead offer the member functions .silent(), .is_silent(), .verbose(...), .is_verbose() (57dd5fe)
  • ⚠️ Breaking: replace the PROGRAMOPTIONS_NO_EXCEPTIONS macro by PROGRAMOPTIONS_EXCEPTIONS; instead of opting-out of exception-based precondition checking, you now have to opt-in (cdc6b11)
  • ⚠️ Breaking: move the file ProgramOptions.hxx to the include directory (e82a49b)
  • Add .bind to bind an option to a variable (5bcf23a)
  • Preserve the order in which the options have been defined in the help screen (cd56dbd)
  • Add print_data function to print the parsed data inside the parser in a human readable format (f59c107)
  • Add print_help function as a more expressive alternative to operator<< (6f51cc1)
  • Make .bind_container work with more containers (9ef95e9)
  • Improve readme and examples (c4cc137, 943e967, bb92550, d62b574, 27b6ec6, a8ae1b8, f4b68c0, 1657f93, 71cc491, 5a9445d, 876fbe1)
  • Improve CMakeLists and make ProgramOptions a linkable target in CMake (8dde854, 13f95d0)
  • Change details about the help screen (cf2b0ea)
  • Improve assertions and make them more lenient (5b7eeb2)
  • Use git submodules (38f0282)
  • Various code improvements

Fixes

  • Fixed a case where certain user inputs caused an assertion to be triggered (3ec92cc)
  • Fixed undefined behavior in certain edge cases in str2flt and str2int (cf8da88, ac8e92f)
  • Fixed various warnings (8d409fb, bbf21c0, ea19c71, 850d4d6)
  • Provide a workaround for libc++'s incorrect std::isnan implementation (0e645cf)
  • Provide a workaround for GCC 4.8 (be2fc75)