neuray API Programmer's Manual

mi::base::Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I> Template Class Reference

[Interface Framework Technology]

template< Uint32 id1, Uint16 id2, Uint16 id3, Uint8 id4, Uint8 id5, Uint8 id6, Uint8 id7, Uint8 id8, Uint8 id9, Uint8 id10, Uint8 id11, class I = IInterface>

class mi::base::Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I>

Description

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 File:

#include <mi/base/interface_declare.h>

Public Typedefs

typedef Uuid_t< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11> IID
Declares the interface ID (IID) of this interface.
typedef Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I> Self
Own type.

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

Typedefs

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.

Member Functions

static bool mi::base::Interface_declare< id1, id2, id3, id4, id5, id6, id7, id8, id9, id10, id11, I>::compare_iid( const Uuid& iid) [inline, static]

Compares the interface ID iid against the interface ID of this interface and of its ancestors.

Returns

true if iid == IID() or is equal to one of the interface IDs of its ancestors, and false otherwise.