IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
ice::concepts::IsRefCounted Concept Reference

#include <ice/detail/refcounted.hxx>

Concept definition

template<typename Object>
concept IsRefCounted = requires(std::remove_const_t<Object>&o, ice::detail::RCPassKey const& passkey) {
{ o.rc_add(passkey) } -> std::convertible_to<std::remove_const_t<Object>*>;
{ o.rc_sub(passkey) } -> std::convertible_to<void>;
{ o.rc_stats(passkey) } -> std::convertible_to<ice::RefCountStats>;
{ o.rc_unclaimed(passkey) } -> std::convertible_to<bool>;
{ o.rc_claim(passkey) } -> std::convertible_to<std::remove_const_t<Object>*>;
}
Definition refcounted.hxx:82
Definition refcounted.hxx:28