NVIDIA Iray API
 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 1986, 2014 NVIDIA Corporation. All rights reserved.
3 //*****************************************************************************
6 //*****************************************************************************
7 
8 #ifndef MI_NEURAYLIB_IENUM_DECL_H
9 #define MI_NEURAYLIB_IENUM_DECL_H
10 
11 #include <mi/neuraylib/idata.h>
12 
13 namespace mi {
14 
15 class IEnum_decl;
16 
21 class IEnum_decl :
36  public base::Interface_declare<0xd15fcacd,0xe31f,0x4eb4,0x80,0x54,0x3b,0xe9,0x1f,0xbc,0x90,0x7d>
37 {
38 public:
47  virtual Sint32 add_enumerator( const char* name, Sint32 value) = 0;
48 
56  virtual Sint32 remove_enumerator( const char* name) = 0;
57 
59  virtual Size get_length() const = 0;
60 
65  virtual const char* get_name( Size index) const = 0;
66 
72  virtual Sint32 get_value( Size index) const = 0;
73 
78  virtual Size get_index( const char* name) const = 0;
79 
85  virtual Size get_index( Sint32 value) const = 0;
86 
101  virtual const char* get_enum_type_name() const = 0;
102 };
103  // end group mi_neuray_types
105 
106 } // namespace mi
107 
108 #endif // MI_NEURAYLIB_IENUM_DECL_H