63 static_assert(len + 1 >= 16,
64 "Interface id should contain at least 15 chars");
70 bool operator!=(
const InterfaceId& other)
const {
return !(*
this == other); }
99 template<
class Interface>
100 Interface* queryInterface()
102 return static_cast<Interface*
>(queryInterface(Interface::interfaceId()));
105 template<
class Interface>
106 const Interface* queryInterface()
const 108 return static_cast<const Interface*
>(queryInterface(Interface::interfaceId()));
115 virtual int addRef()
const = 0;
Definition: i_ref_countable.h:55
const char *const value
Definition: i_ref_countable.h:57
virtual int releaseRef() const =0
virtual ~IRefCountable()=default
InterfaceId(const char(&charArray)[len])
Definition: i_ref_countable.h:61
static auto interfaceId()
Definition: i_ref_countable.h:74
virtual int addRef() const =0
Definition: i_ref_countable.h:43