Material Definition Language API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ienum_decl.h
Go to the documentation of this file.
1 /***************************************************************************************************
2  * Copyright 2020 NVIDIA Corporation. All rights reserved.
3  **************************************************************************************************/
6 
7 #ifndef MI_NEURAYLIB_IENUM_DECL_H
8 #define MI_NEURAYLIB_IENUM_DECL_H
9 
10 #include <mi/neuraylib/idata.h>
11 
12 namespace mi {
13 
14 class IEnum_decl;
15 
20 class IEnum_decl :
35  public base::Interface_declare<0xd15fcacd,0xe31f,0x4eb4,0x80,0x54,0x3b,0xe9,0x1f,0xbc,0x90,0x7d>
36 {
37 public:
46  virtual Sint32 add_enumerator( const char* name, Sint32 value) = 0;
47 
55  virtual Sint32 remove_enumerator( const char* name) = 0;
56 
58  virtual Size get_length() const = 0;
59 
64  virtual const char* get_name( Size index) const = 0;
65 
71  virtual Sint32 get_value( Size index) const = 0;
72 
77  virtual Size get_index( const char* name) const = 0;
78 
84  virtual Size get_index( Sint32 value) const = 0;
85 
100  virtual const char* get_enum_type_name() const = 0;
101 };
102  // end group mi_neuray_types
104 
105 } // namespace mi
106 
107 #endif // MI_NEURAYLIB_IENUM_DECL_H