Skip to content

Releases: rmettler/cpp_delegates

Version 1.1

14 Oct 15:52
v1.1
Compare
Choose a tag to compare
  • Added noexcept specifiers to all comparison operators. Thank you @AndreasSchaetti.

Version 1.0

06 Sep 00:06
v1.0
Compare
Choose a tag to compare

The project is now considered complete. No further work will be done, until requested otherwise.
Please open an issue on GitLab if you miss a feature or found a bug.

Changes since v0.1:

  • Changes to the delegate source code:
    • complete overhaul of internal code while keeping the interface compatible with versions since v0.1
    • added the possibility to directly assign function objects to delegates, e.g. rome::delegate<bool(int)> = [](int i){ return i>0; };
    • fixed that creating a delegate from a small buffer optimizable function object was falsely set noexcept if the function object was copied and copying is not noexcept
    • fixed compiler generated, hidden exception checks in the delegate's destructors because the internally used functions were incorrectly not set noexcept
    • improved compile error messages, especially if function objects of incompatible signature are assigned
    • minimized amount of code generated through templates
    • made the library single header (merged headers)
  • Changes to the tests:
    • added CMake to build and run the tests (minimum required version is 3.20)
    • improved consistency, readability and performance of unit tests and added some missing checks
    • added tests for expected compile errors
    • added tests of the provided examples
    • added code coverage report for unit test runs (LLVM only)
    • added address sanitizer and undefined behavior sanitizer analysis to unit test runs (LLVM only)
    • added clang-tidy static analysis
    • added additional Clang and GCC toolchains for C++14 and C++23 to CI test runs
  • improved documentation