MDL SDK API nvidia_logo_transpbg.gif Up
ienum_decl.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 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
12namespace mi {
13
14class IEnum_decl;
15
35 public base::Interface_declare<0xd15fcacd,0xe31f,0x4eb4,0x80,0x54,0x3b,0xe9,0x1f,0xbc,0x90,0x7d>
36{
37public:
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
An enum declaration is used to describe enum types.
Definition: ienum_decl.h:36
virtual Sint32 remove_enumerator(const char *name)=0
Removes an enumerator from the enum declaration.
virtual Sint32 get_value(Size index) const =0
Returns the value of an enumerator.
virtual Size get_index(const char *name) const =0
Returns the index for an enumerator identified by its name.
virtual const char * get_name(Size index) const =0
Returns the name of an enumerator.
virtual Size get_length() const =0
Returns the number of enumerators.
virtual Size get_index(Sint32 value) const =0
Returns the index for an enumerator identified by its value.
virtual Sint32 add_enumerator(const char *name, Sint32 value)=0
Adds a new enumerator to the enum declaration.
virtual const char * get_enum_type_name() const =0
Returns the type name used to register this enum declaration.
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed int Sint32
32-bit signed integer.
Definition: types.h:46
Types.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5