Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::neuraylib::IExpression Class Referenceabstract

The interface to MDL expressions. More...

Inheritance diagram for mi::neuraylib::IExpression:
mi::base::Interface_declare< 0x0f4a7542, 0x9b27, 0x4924, 0xbd, 0x8d, 0x82, 0xe3, 0xa9, 0xa7, 0xa9, 0xd6 > mi::base::IInterface mi::base::Interface_declare< 0x206c4319, 0x0b53, 0x45a7, 0x86, 0x07, 0x29, 0x98, 0xb3, 0x44, 0x7f, 0xaa, neuraylib::IExpression > mi::base::Interface_declare< 0x9253c9d6, 0xe162, 0x4234, 0xab, 0x91, 0x54, 0xc1, 0xe4, 0x87, 0x39, 0x66, neuraylib::IExpression > mi::base::Interface_declare< 0x9da8d465, 0x4058, 0x46cb, 0x83, 0x6e, 0x0e, 0x38, 0xa6, 0x7f, 0xcd, 0xef, neuraylib::IExpression > mi::base::Interface_declare< 0xcf625aec, 0x8eb8, 0x4743, 0x9f, 0xf6, 0x76, 0x82, 0x2c, 0x02, 0x54, 0xa3, neuraylib::IExpression > mi::base::Interface_declare< 0xd91f484b, 0xdbf8, 0x4585, 0x9d, 0xab, 0xba, 0xd9, 0x91, 0x7f, 0xe1, 0x4c, neuraylib::IExpression > mi::neuraylib::IExpression_parameter mi::neuraylib::IExpression_direct_call mi::neuraylib::IExpression_constant mi::neuraylib::IExpression_call mi::neuraylib::IExpression_temporary

Public Types

enum  Kind {
  EK_CONSTANT,
  EK_CALL,
  EK_PARAMETER,
  EK_DIRECT_CALL,
  EK_TEMPORARY
}
 The possible kinds of expressions. More...
 
- Public Types inherited from mi::base::Interface_declare< 0x0f4a7542, 0x9b27, 0x4924, 0xbd, 0x8d, 0x82, 0xe3, 0xa9, 0xa7, 0xa9, 0xd6 >
typedef Interface_declare< id1,
id2, id3, id4, id5, id6, id7,
id8, id9, id10, id11,
IInterface
Self
 Own type. More...
 
typedef Uuid_t< id1, id2, id3,
id4, id5, id6, id7, id8, id9,
id10, id11 > 
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...
 

Additional Inherited Members

- Static Public Member Functions inherited from mi::base::Interface_declare< 0x0f4a7542, 0x9b27, 0x4924, 0xbd, 0x8d, 0x82, 0xe3, 0xa9, 0xa7, 0xa9, 0xd6 >
static bool compare_iid (const Uuid &iid)
 Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
 

Detailed Description

The interface to MDL expressions.

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

Member Enumeration Documentation

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

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

Returns the kind of this expression.

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

Returns the type of this expression.

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

Returns the type of this expression.