A direct call expression. More...
#include <iexpression.h>
Public Member Functions | |
virtual const char * | get_definition () const =0 |
Returns the DB name of the corresponding function or material definition. More... | |
virtual const IExpression_list * | get_arguments () const =0 |
Returns the arguments of the direct call. More... | |
![]() | |
virtual Kind | get_kind () const =0 |
Returns the kind of this expression. More... | |
virtual const IType * | get_type () const =0 |
Returns the type of this expression. More... | |
template<class T> | |
const T * | get_type () const |
Returns the type of this expression. 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 Attributes | |
static const Kind | s_kind = EK_DIRECT_CALL |
The kind of this subclass. More... | |
Additional Inherited Members | |
![]() | |
using | Self = Interface_declare< id1, ... > |
Own type. More... | |
using | IID = Uuid_t< id1, ... > |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
enum | Kind { EK_CONSTANT , EK_CALL , EK_PARAMETER , EK_DIRECT_CALL , EK_TEMPORARY , EK_FORCE_32_BIT = 0xffffffffU } |
The possible kinds of expressions. More... | |
![]() | |
using | Self = Interface_declare< id1, ... > |
Own type. More... | |
using | IID = Uuid_t< id1, ... > |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
using | IID = Uuid_t<0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0> |
Declares the interface ID (IID) of this interface. More... | |
![]() | |
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 bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface and of its ancestors. More... | |
![]() | |
static bool | compare_iid (const Uuid &iid) |
Compares the interface ID iid against the interface ID of this interface. More... | |
A direct call expression.
This call expression is called direct since it directly represents the actual call (and not simply references another DB element representing the actual call as for indirect call expressions). See mi::neuraylib::IExpression_call for of comparison of direct and indirect call expressions.
Direct call expressions appear in fields and temporaries of compiled materials, in the bodies of function and material definitions, and in bodies in the module builder.
|
pure virtual |
Returns the arguments of the direct call.
|
pure virtual |
Returns the DB name of the corresponding function or material definition.
|
static |
The kind of this subclass.