This mixin class provides a default implementation of the IUser_class_factory
interface.
More...
#include <iuser_class_factory.h>
Public Member Functions | |
base::IInterface * | create (ITransaction *transaction, Uint32 argc, const base::IInterface *argv[]) |
Creates an instance of the class for which the factory was registered. More... | |
Public Member Functions inherited from mi::base::Interface_implement< neuraylib::IUser_class_factory > | |
Interface_implement (Uint32 initial=1) | |
Constructor. More... | |
Interface_implement (const Interface_implement< neuraylib::IUser_class_factory > &other) | |
Copy constructor. More... | |
Interface_implement (Interface_implement &&other) | |
Move constructor. More... | |
Interface_implement< neuraylib::IUser_class_factory > & | operator= (const Interface_implement< neuraylib::IUser_class_factory > &other) |
Assignment operator. More... | |
Interface_implement & | operator= (Interface_implement &&other) |
Move assignment. 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... | |
virtual base::IInterface * | create (ITransaction *transaction, Uint32 argc, const base::IInterface *argv[])=0 |
Creates an instance of the class for which the factory was registered. More... | |
Public Member Functions inherited from mi::base::IInterface | |
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... | |
Additional Inherited Members | |
Public Types inherited from mi::base::Interface_declare< 0x37355ece, ... > | |
typedef Interface_declare< id1, ... > | Self |
Own type. More... | |
typedef Uuid_t< id1, ... > | IID |
Declares the interface ID (IID) of this interface. More... | |
Public Types inherited from mi::base::IInterface | |
typedef Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> | IID |
Declares the interface ID (IID) of this interface. More... | |
Static Public Member Functions inherited from mi::base::Interface_declare< 0x37355ece, ... > | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
Static Public Member Functions inherited from mi::base::IInterface | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
Protected Member Functions inherited from mi::base::Interface_implement< neuraylib::IUser_class_factory > | |
Atom32 & | refcount () const |
Get the current refcount. More... | |
This mixin class provides a default implementation of the IUser_class_factory
interface.
This default implementation of mi::neuraylib::IUser_class_factory simply calls the default constructor of T without arguments.
The default implementation is used implicitly by some variants of the class registration, see mi::neuraylib::IExtension_api::register_class(const char*).
|
inlinevirtual |
Creates an instance of the class for which the factory was registered.
This default implementation simply calls the default constructor of T without arguments. It does not accept any parameters, i.e., it requires argc
= 0.
transaction | The transaction (ignored). |
argc | The size of the argv array (must be 0). |
argv | An array of optional arguments (ignored). |
NULL
on failure. Implements mi::neuraylib::IUser_class_factory.