|
virtual IValue_factory * | get_value_factory () const =0 |
| Returns the value factory associated with this expression factory. More...
|
|
virtual IExpression_constant * | create_constant (IValue *value) const =0 |
| Creates a constant. More...
|
|
virtual IExpression_call * | create_call (const char *name) const =0 |
| Creates a call. More...
|
|
virtual IExpression_parameter * | create_parameter (const IType *type, Size index) const =0 |
| Creates a parameter reference. More...
|
|
virtual IExpression_list * | create_expression_list () const =0 |
| Creates a new expression list. More...
|
|
virtual IAnnotation * | create_annotation (const char *name, const IExpression_list *arguments) const =0 |
| Creates a new annotation. More...
|
|
virtual IAnnotation_block * | create_annotation_block () const =0 |
| Creates a new annotation block. More...
|
|
virtual IAnnotation_list * | create_annotation_list () const =0 |
| Creates a new annotation list. More...
|
|
virtual IExpression * | clone (const IExpression *expr) const =0 |
| Clones the given expression. More...
|
|
template<class T > |
T * | clone (const T *expr) const |
| Clones the given expression. More...
|
|
virtual IExpression_list * | clone (const IExpression_list *expression_list) const =0 |
| Clones the given expression list. More...
|
|
virtual Sint32 | compare (const IExpression *lhs, const IExpression *rhs) const =0 |
| Compares two instances of mi::neuraylib::IExpression. More...
|
|
virtual Sint32 | compare (const IExpression_list *lhs, const IExpression_list *rhs) const =0 |
| Compares two instances of mi::neuraylib::IExpression_list. More...
|
|
virtual const IString * | dump (const IExpression *expr, const char *name, Size depth=0) const =0 |
| Returns a textual representation of an expression. More...
|
|
virtual const IString * | dump (const IExpression_list *list, const char *name, Size depth=0) const =0 |
| Returns a textual representation of an expression list. More...
|
|
virtual const IString * | dump (const IAnnotation *annotation, const char *name, Size depth=0) const =0 |
| Returns a textual representation of an annotation. More...
|
|
virtual const IString * | dump (const IAnnotation_block *block, const char *name, Size depth=0) const =0 |
| Returns a textual representation of an annotation block. More...
|
|
virtual const IString * | dump (const IAnnotation_list *list, const char *name, Size depth=0) const =0 |
| Returns a textual representation of an annotation list. More...
|
|
|
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...
|
|
static bool | compare_iid (const Uuid &iid) |
| Compares the interface ID iid against the interface ID of this interface and of its ancestors. More...
|
|
The interface for creating expressions.
An expression factory can be obtained from mi::neuraylib::IMdl_factory::create_expression_factory().
Clones the given expression.
Note that referenced DB elements, e.g., resources in constant expressions, or function calls and material instances in call expressions, are not copied, but shared. Function calls and material instances that serve as default arguments, are copied, though.
template<class T >
T* mi::neuraylib::IExpression_factory::clone |
( |
const T * |
expr) | |
const |
|
inline |
Clones the given expression.
Note that referenced DB elements, e.g., resources in constant expressions, or function calls and material instances in call expressions, are not copied, but shared. Function calls and material instances that serve as default arguments, are copied, though.