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. |