The IAllocator interface class supports allocating and releasing memory dynamically. More...
#include <iallocator.h>
Public Types | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Member Functions | |
virtual void * | malloc (Size size)=0 |
Allocates a memory block of the given size. More... | |
virtual void | free (void *memory)=0 |
Releases the given memory block. More... | |
virtual Uint32 | retain () const =0 |
Increments the reference count. More... | |
virtual Uint32 | release () const =0 |
Decrements the reference count. More... | |
virtual const IInterface * | get_interface (const Uuid &interface_id) const =0 |
Acquires a const interface from another. More... | |
template<class T> | |
const T * | get_interface () const |
Acquires a const interface from another. More... | |
virtual IInterface * | get_interface (const Uuid &interface_id)=0 |
Acquires a mutable interface from another. More... | |
template<class T> | |
T * | get_interface () |
Acquires a mutable interface from another. More... | |
virtual Uuid | get_iid () const =0 |
Returns the interface ID of the most derived 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... | |
The IAllocator interface class supports allocating and releasing memory dynamically.
Different APIs allow to be configured with your own implementation of an allocator to override their internal implementation.
#include <mi/base/iallocator.h>
|
inherited |
Declares the interface ID (IID) of this interface.
|
inherited |
Own type.
|
inlinestaticinherited |
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.