neuray API Programmer's Manual

mi::neuraylib::IExpression Class Reference

[MDL type system]

Description

The interface to MDL expressions. Expressions can be created using the expression factory mi::neuraylib::IExpression_factory.

Public Enumerations

enum Kind{ EK_CONSTANT, EK_CALL, EK_PARAMETER, EK_DIRECT_CALL, EK_TEMPORARY, EK_FORCE_32_BIT = 0xffffffffU}
The possible kinds of expressions.

Public Member Functions

virtual Kind get_kind() const =0
Returns the kind of this expression.
virtual const ITypeget_type() const =0
Returns the type of this expression.
template< class T>const T* get_type() const
Returns the type of this expression.

Enums

enum mi::​neuraylib::​IExpression::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.
EK_FORCE_32_BIT = 0xffffffffU

Member Functions

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.