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

A constant expression. More...

#include <iexpression.h>

Inheritance diagram for mi::neuraylib::IExpression_constant:

Public Member Functions

virtual const IValueget_value () const =0
 Returns the value of the constant. More...
 
template<class T>
const T * get_value () const
 Returns the value of the constant. More...
 
virtual IValueget_value ()=0
 Returns the value of the constant. More...
 
template<class T>
T * get_value ()
 Returns the value of the constant. More...
 
virtual Sint32 set_value (IValue *value)=0
 Sets the value of the constant. More...
 
- Public Member Functions inherited from mi::neuraylib::IExpression
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...
 

Static Public Attributes

static const Kind s_kind = EK_CONSTANT
 The kind of this subclass. More...
 

Additional Inherited Members

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

A constant expression.

Constant expressions represent values (see mi::neuraylib::IValue). They appear basically everywhere where expressions are used.

Member Function Documentation

 get_value() [1/4]

template<class T>
T * mi::neuraylib::IExpression_constant::get_value ( )
inline

Returns the value of the constant.

 get_value() [2/4]

template<class T>
const T * mi::neuraylib::IExpression_constant::get_value ( ) const
inline

Returns the value of the constant.

 get_value() [3/4]

virtual const IValue * mi::neuraylib::IExpression_constant::get_value ( ) const
pure virtual

Returns the value of the constant.

 get_value() [4/4]

virtual IValue * mi::neuraylib::IExpression_constant::get_value ( )
pure virtual

Returns the value of the constant.

 set_value()

virtual Sint32 mi::neuraylib::IExpression_constant::set_value ( IValue value)
pure virtual

Sets the value of the constant.

Returns
  • 0: Success.
  • -1: Invalid parameter (NULL pointer).
  • -2: The type of value does not match the type of the constant.

Member Data Documentation

 s_kind

const Kind mi::neuraylib::IExpression_constant::s_kind = EK_CONSTANT
static

The kind of this subclass.