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>