Skip to content

Version 1.0

Choose a tag to compare

@rmettler rmettler released this 06 Sep 00:06
· 2 commits to master since this release
v1.0

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