54 template <
typename Object>
57 if constexpr (std::is_base_of_v<i_lifetime, Object>)
63 template <
typename Object,
typename Handler>
66 if constexpr (std::is_base_of_v<i_object, Object>)
67 return static_cast<i_object&
>(aObject).destroying(aHandler);
72 template <
typename Object,
typename Handler>
75 if constexpr (std::is_base_of_v<i_object, Object>)
76 return static_cast<i_object&
>(aObject).destroyed(aHandler);
virtual bool is_alive() const =0
virtual ~i_object()=default
declare_event(destroying)
bool is_alive(Object &aObject)
auto destroyed(Object &aObject, const Handler aHandler)
auto destroying(Object &aObject, const Handler aHandler)