MDL SDK API nvidia_logo_transpbg.gif Up
mi::neuraylib::IExpression Class Referenceabstract

The interface to MDL expressions. More...

#include <iexpression.h>

Inheritance diagram for mi::neuraylib::IExpression:

Public Types

enum  Kind {
  EK_CONSTANT ,
  EK_CALL ,
  EK_PARAMETER ,
  EK_DIRECT_CALL ,
  EK_TEMPORARY ,
  EK_FORCE_32_BIT = 0xffffffffU
}
 The possible kinds of expressions. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x0f4a7542, ... >
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...
 

Public Member Functions

virtual Kind get_kind () const =0
 Returns the kind of this expression. More...
 
virtual const ITypeget_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...
 
- 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 IInterfaceget_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 IInterfaceget_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

- Static Public Member Functions inherited from mi::base::Interface_declare< 0x0f4a7542, ... >
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...
 

Detailed Description

The interface to MDL expressions.

Expressions can be created using the expression factory mi::neuraylib::IExpression_factory.

Member Enumeration Documentation

 Kind

The possible kinds of expressions.

Enumerator
EK_CONSTANT 

A constant expression. See mi::neuraylib::IExpression_constant.

EK_CALL 

An indirect call expression. See mi::neuraylib::IExpression_call.

EK_PARAMETER 

A parameter reference expression. See mi::neuraylib::IExpression_parameter.

EK_DIRECT_CALL 

A direct call expression. See mi::neuraylib::IExpression_direct_call.

EK_TEMPORARY 

A temporary reference expression. See mi::neuraylib::IExpression_temporary.

Member Function Documentation

 get_kind()

virtual Kind mi::neuraylib::IExpression::get_kind ( ) const
pure virtual

Returns the kind of this expression.

 get_type() [1/2]

template<class T>
const T * mi::neuraylib::IExpression::get_type ( ) const
inline

Returns the type of this expression.

 get_type() [2/2]

virtual const IType * mi::neuraylib::IExpression::get_type ( ) const
pure virtual

Returns the type of this expression.