0.12.0
Rework "has_changed" extension point and replace doctest with Cache2
-
BREAKING! rework approach to "calming" made via has_changed customization
point
Overloaded free function version ofureact::detail::has_changed()
is
replaced with Customization Point Object
Existence of operator== is no longer condition for "calming", instead free
functionhas_changed
is used.
has_changed
is provided only for arithmetic types, enum types and library
classesureact::signal
andureact::events
.Examples of
has_changed
function:- free function in the same namespace
namespace foo { struct Foo { int value; }; constexpr bool has_changed( const Foo lhs, const Foo rhs ) noexcept { return !( lhs.value == rhs.value ); } }
- hidden friend version for the shy ones
namespace bar { class Bar { int value; friend constexpr bool has_changed( const Bar lhs, const Bar rhs ) noexcept { return !( lhs.value == rhs.value ); } }; }
-
Remove Codacy badge. Codacy proved to be useless for this repository
-
Replace doctest with Cache2. They are mostly the same in terms of interface,
but activity and support of Cache2 is better -
Move the only benchmark from standalone benchmark folder into ureact_test
target.
Cache2 has microbenchmark feature, but I don't understand it's output and
don't trust it.