Mixin class template for deriving interface implementations from two interfaces. More...
#include <interface_implement.h>
Inherits I1, and I2.
Public Member Functions | |
Interface_implement_2 (Uint32 initial=1) | |
Constructor. More... | |
Interface_implement_2 (const Interface_implement_2<I1, I2> &other) | |
Copy constructor. More... | |
Interface_implement_2<I1, I2> & | operator= (const Interface_implement_2<I1, I2> &other) |
Assignment operator. More... | |
virtual Uint32 | retain () const |
Increments the reference count. More... | |
virtual Uint32 | release () const |
Decrements the reference count. 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 interface implementations from two interfaces.
mi::base::Interface_implement_2 is a mixin class template that allows you to derive interface class implementations easily. It provides you with the full 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.
mi::base::Interface_implement is derived from the interface I1
and I2
. In case of ambiguities, interface I1
is preferred.
I1 | First interface class that this class implements. |
I2 | Second interface class that this class implements. |
#include <mi/base/interface_implement.h>