Skip to content

v1.1

Latest
Compare
Choose a tag to compare
@deqyra deqyra released this 21 Aug 16:43
· 3 commits to master since this release
8184fb9

What's new

  • Range view library, featuring:
    • ranges::dereference_view
    • ranges::reverse_pair_view
    • ranges::reverse_map_pair_view
    • ranges::member_view
    • For each of these views, CPOs acting as range adaptor objects and range adaptor closure objects in namespace views
  • Command-line argument parsing facility in namespace cli
    • New exception category arg_parse_exception
  • New exception category lookup_exception (replaces inaptly named exception category range_exception)
  • New functions narrow and widen in header utility/string.hpp
  • Minor adjustments:
    • Unit tests for (nearly) everything which didn't have them
    • Fixed wrong offset calculation in contiguous_storage
    • Fixed implementation of to_string
    • Moved various small function definitions into headers and made them inline
  • Breaking changes:
    • Exception category range_exception was removed (in favor of new category lookup_exception)
    • Header interruptible.hpp was moved from directory thread/interface to directory thread
    • Header allocator.hpp was moved from directory utility to directory utility/detail
    • Removed namespace cli::input, all names that were declared in it are now in namespace cli
    • Removed namespace string, all names that were declared in it are now in namespace ::tools
    • Concept stringable was moved from header utility/concepts.hpp to header utility/to_string.hpp
    • Class template sine_generator was moved out of namespace math
    • clamped_range and wrapping_range were renamed to clamped_value and wrapping_value respectively
    • Removed operator overloads on both clamped_value and wrapping_value which led to confusing semantics
    • Fixed incorrect arithmetic on both clamped_value and wrapping_value
    • Reordered constructor parameters of monitored_value
  • CMake:
    • Fixed a warning flag being wrongly passed to MSVC, causing build to fail
    • Export CppTools CMake module as part of installed package, its path is automatically appended to CMake module paths when the installed package is imported