7 #ifndef MI_NEURAYLIB_IMDL_MODULE_BUILDER_H
8 #define MI_NEURAYLIB_IMDL_MODULE_BUILDER_H
19 class IAnnotation_block;
20 class IAnnotation_list;
22 class IExpression_list;
23 class IMdl_execution_context;
29 class IMdl_module_builder:
public
33 base::Interface_declare<0x2357f2f8,0x4428,0x47e5,0xaa,0x92,0x97,0x98,0x25,0x5d,0x26,0x57>
56 const char* prototype_name,
57 const IExpression_list* defaults,
58 const IAnnotation_block* annotations,
59 const IAnnotation_block* return_annotations,
61 IMdl_execution_context* context) = 0;
85 const IExpression* body,
86 const IType_list* parameters,
87 const IExpression_list* defaults,
88 const IAnnotation_list* parameter_annotations,
89 const IAnnotation_block* annotations,
90 const IAnnotation_block* return_annotations,
93 IMdl_execution_context* context) = 0;
110 const IType_list* parameters,
111 const IExpression_list* defaults,
112 const IAnnotation_list* parameter_annotations,
113 const IAnnotation_block* annotations,
115 IMdl_execution_context* context) = 0;
133 const IExpression_list* enumerators,
134 const IAnnotation_list* enumerator_annotations,
135 const IAnnotation_block* annotations,
137 IMdl_execution_context* context) = 0;
157 const IType_list* fields,
158 const IExpression_list* field_defaults,
159 const IAnnotation_list* field_annotations,
160 const IAnnotation_block* annotations,
162 IMdl_execution_context* context) = 0;
176 const IExpression* expr,
177 const IAnnotation_block* annotations,
179 IMdl_execution_context* context) = 0;
188 const IAnnotation_block* annotations,
189 IMdl_execution_context* context) = 0;
203 IMdl_execution_context* context) = 0;
219 const IExpression* root_expr,
220 bool root_expr_uniform,
221 IMdl_execution_context* context) = 0;
230 #endif // MI_NEURAYLIB_IMDL_MODULE_BUILDER_H