Mixin class template for deriving new interface declarations. More...
Inherits I.
Public Types | |
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I > |
Self |
Own type. More... |
|
typedef Uuid_t< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11 > |
IID |
Declares the interface ID (IID) of this interface. More... |
|
Static Public Member Functions | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... |
|
Mixin class template for deriving new interface declarations.
mi::base::Interface_declare is a mixin class template that allows you to derive new interface classes easily. It provides you with implementations for the interface ID handling and support for the mi::base::IInterface::get_interface method used by the corresponding mixin class template mi::base::Interface_implement.
It derives from the interface I
, which is by default mi::base::IInterface. Each interface needs an interface ID (represented as a universally unique identifier (UUID)), which is defined here as 11 template parameter constants.
#include <mi/base/interface_declare.h>
typedef Uuid_t<id1,id2,id3,id4,id5,id6,id7,id8,id9,id10,id11> mi::base::Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I >::IID |
Declares the interface ID (IID) of this interface.
typedef Interface_declare<id1,id2,id3,id4,id5,id6,id7,id8,id9,id10,id11,I> mi::base::Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I >::Self |
Own type.
|
inlinestatic |
Compares the interface ID iid
against the interface ID of this interface and of its ancestors.
true
if iid
== IID()
or is equal to one of the interface IDs of its ancestors, and false
otherwise.