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

An annotation definition. More...

Inheritance diagram for mi::neuraylib::IAnnotation_definition:
mi::base::Interface_declare< 0xa453318b, 0xe056, 0x4521, 0x9f, 0x3c, 0x9d, 0x5c, 0x3, 0x23, 0x5f, 0xb7 > mi::base::IInterface

Public Types

enum  Semantics {
  AS_UNKNOWN = 0 ,
  AS_INTRINSIC_ANNOTATION = AS_ANNOTATION_FIRST,
  AS_THROWS_ANNOTATION,
  AS_SINCE_ANNOTATION,
  AS_REMOVED_ANNOTATION,
  AS_CONST_EXPR_ANNOTATION,
  AS_DERIVABLE_ANNOTATION,
  AS_NATIVE_ANNOTATION,
  AS_UNUSED_ANNOTATION,
  AS_NOINLINE_ANNOTATION,
  AS_SOFT_RANGE_ANNOTATION,
  AS_HARD_RANGE_ANNOTATION,
  AS_HIDDEN_ANNOTATION,
  AS_DEPRECATED_ANNOTATION,
  AS_VERSION_NUMBER_ANNOTATION,
  AS_VERSION_ANNOTATION,
  AS_DEPENDENCY_ANNOTATION,
  AS_UI_ORDER_ANNOTATION,
  AS_USAGE_ANNOTATION,
  AS_ENABLE_IF_ANNOTATION,
  AS_THUMBNAIL_ANNOTATION,
  AS_DISPLAY_NAME_ANNOTATION,
  AS_IN_GROUP_ANNOTATION,
  AS_DESCRIPTION_ANNOTATION,
  AS_AUTHOR_ANNOTATION,
  AS_CONTRIBUTOR_ANNOTATION,
  AS_COPYRIGHT_NOTICE_ANNOTATION,
  AS_CREATED_ANNOTATION,
  AS_MODIFIED_ANNOTATION,
  AS_KEYWORDS_ANNOTATION,
  AS_ORIGIN_ANNOTATION
}
 All known semantics of annotation definitions. More...
 
- Public Types inherited from mi::base::Interface_declare< 0xa453318b, 0xe056, 0x4521, 0x9f, 0x3c, 0x9d, 0x5c, 0x3, 0x23, 0x5f, 0xb7 >
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 const char * get_name () const =0
 Returns the name of the annotation definition. More...
 
virtual Semantics get_semantic () const =0
 Returns the semantic of this annotation definition. More...
 
virtual Size get_parameter_count () const =0
 Returns the parameter count of the annotation definition. More...
 
virtual const char * get_parameter_name (Size index) const =0
 Returns the parameter name of the given index. More...
 
virtual Size get_parameter_index (const char *name) const =0
 Returns the parameter index of the given name. More...
 
virtual const IType_listget_parameter_types () const =0
 Returns the parameter types of the annotation definition. More...
 
virtual const IExpression_listget_defaults () const =0
 Returns the parameter defaults of the annotation definition. More...
 
virtual bool is_exported () const =0
 Indicates whether the annotation definition is exported by its module. More...
 
virtual const IAnnotation_blockget_annotations () const =0
 Returns the annotations of this definition or NULL if no annotations exist. More...
 
virtual const IAnnotationcreate_annotation (const IExpression_list *arguments) const =0
 Creates an annotation. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from mi::base::Interface_declare< 0xa453318b, 0xe056, 0x4521, 0x9f, 0x3c, 0x9d, 0x5c, 0x3, 0x23, 0x5f, 0xb7 >
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

An annotation definition.

Member Enumeration Documentation

All known semantics of annotation definitions.

Note
Do not rely on the numeric values of the enumerators since they may change without further notice.
Enumerator
AS_UNKNOWN 

Unknown semantics.

AS_INTRINSIC_ANNOTATION 

This is the internal intrinsic() annotation.

AS_THROWS_ANNOTATION 

This is the internal throws() annotation.

AS_SINCE_ANNOTATION 

This is the internal since() annotation.

AS_REMOVED_ANNOTATION 

This is the internal removed() annotation.

AS_CONST_EXPR_ANNOTATION 

This is the internal const_expr() annotation.

AS_DERIVABLE_ANNOTATION 

This is the internal derivable() annotation.

AS_NATIVE_ANNOTATION 

This is the internal native() annotation.

AS_UNUSED_ANNOTATION 

This is the unused() annotation.

AS_NOINLINE_ANNOTATION 

This is the noinline() annotation.

AS_SOFT_RANGE_ANNOTATION 

This is the soft_range() annotation.

AS_HARD_RANGE_ANNOTATION 

This is the hard_range() annotation.

AS_HIDDEN_ANNOTATION 

This is the hidden() annotation.

AS_DEPRECATED_ANNOTATION 

This is the deprecated() annotation.

AS_VERSION_NUMBER_ANNOTATION 

This is the (old) version_number() annotation.

AS_VERSION_ANNOTATION 

This is the version() annotation.

AS_DEPENDENCY_ANNOTATION 

This is the dependency() annotation.

AS_UI_ORDER_ANNOTATION 

This is the ui_order() annotation.

AS_USAGE_ANNOTATION 

This is the usage() annotation.

AS_ENABLE_IF_ANNOTATION 

This is the enable_if() annotation.

AS_THUMBNAIL_ANNOTATION 

This is the thumbnail() annotation.

AS_DISPLAY_NAME_ANNOTATION 

This is the display_name() annotation.

AS_IN_GROUP_ANNOTATION 

This is the in_group() annotation.

AS_DESCRIPTION_ANNOTATION 

This is the description() annotation.

AS_AUTHOR_ANNOTATION 

This is the author() annotation.

AS_CONTRIBUTOR_ANNOTATION 

This is the contributor() annotation.

AS_COPYRIGHT_NOTICE_ANNOTATION 

This is the copyright_notice() annotation.

AS_CREATED_ANNOTATION 

This is the created() annotation.

AS_MODIFIED_ANNOTATION 

This is the modified() annotation.

AS_KEYWORDS_ANNOTATION 

This is the key_words() annotation.

AS_ORIGIN_ANNOTATION 

This is the origin() annotation.

Member Function Documentation

virtual const IAnnotation* mi::neuraylib::IAnnotation_definition::create_annotation ( const IExpression_list arguments) const
pure virtual

Creates an annotation.

Parameters
argumentsThe arguments for new annotation.
Returns
The created annotation or NULL if one of the arguments does not correspond to an actual parameter of the annotation or is not a constant expression.
virtual const IAnnotation_block* mi::neuraylib::IAnnotation_definition::get_annotations ( ) const
pure virtual

Returns the annotations of this definition or NULL if no annotations exist.

virtual const IExpression_list* mi::neuraylib::IAnnotation_definition::get_defaults ( ) const
pure virtual

Returns the parameter defaults of the annotation definition.

virtual const char* mi::neuraylib::IAnnotation_definition::get_name ( ) const
pure virtual

Returns the name of the annotation definition.

virtual Size mi::neuraylib::IAnnotation_definition::get_parameter_count ( ) const
pure virtual

Returns the parameter count of the annotation definition.

virtual Size mi::neuraylib::IAnnotation_definition::get_parameter_index ( const char *  name) const
pure virtual

Returns the parameter index of the given name.

Parameters
nameThe parameter name.
Returns
The index of the parameter or -1 if there is no parameter of that name.
virtual const char* mi::neuraylib::IAnnotation_definition::get_parameter_name ( Size  index) const
pure virtual

Returns the parameter name of the given index.

Parameters
indexThe parameter index.
Returns
The name of the parameter or NULL if index is out of range.
virtual const IType_list* mi::neuraylib::IAnnotation_definition::get_parameter_types ( ) const
pure virtual

Returns the parameter types of the annotation definition.

virtual Semantics mi::neuraylib::IAnnotation_definition::get_semantic ( ) const
pure virtual

Returns the semantic of this annotation definition.

virtual bool mi::neuraylib::IAnnotation_definition::is_exported ( ) const
pure virtual

Indicates whether the annotation definition is exported by its module.