-
v1.1fd6ebbba · ·
- Added noexcept specifiers to all comparision operators. Thank you @AndreasSchaetti.
-
v1.0212cdbae · ·
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