53 static auto roots(T&&
object)
55 std::forward<T>(
object).roots())
62 static auto signal(T&&
object)
64 std::forward<T>(
object).signal())
71 static auto watchers(T&&
object)
73 std::forward<T>(
object).watchers())
79 template <typename ObjectT>
85 access::signal(std::declval<ObjectT>())
90 template <
typename ObjectT>
91 using signal_type_t =
typename signal_type<ObjectT>::type;
#define ABL_DECLTYPE_RETURN(body_expr)
Utility for defining generic functions with a deduced return type, that are composed of a single expr...
typename std::decay< T >::type decay_t
Similar to C++14 std::decay_t.
C++ amazing templates and reusable implementations awesomeness.