Mixin class template for deriving singleton interface implementations, where the reference count is fixed to one. More...
#include <interface_implement.h>
Inherits I.
Public Member Functions | |
virtual Uint32 | retain () const |
Returns the fixed reference count of one. More... | |
virtual Uint32 | release () const |
Returns the fixed reference count of one. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const |
Acquires a const interface. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id) |
Acquires a mutable interface. More... | |
Uuid | get_iid () const |
Returns the interface ID of the most derived interface. More... | |
Mixin class template for deriving singleton interface implementations, where the reference count is fixed to one.
mi::base::Interface_implement is a mixin class template that allows you to derive interface class implementations easily. It provides you with a special implementation of reference counting and the mi::base::IInterface::get_interface(const Uuid&) method. It requires that you used interfaces derived from the corresponding mixin class template mi::base::Interface_declare.
The reference counting is fixed to have a count of always one. It is suitable, for example, for singleton objects that get once allocated and never deallocated.
mi::base::Interface_implement is derived from the interface I
.
I | The interface class that this class implements. |