MDL SDK API nvidia_logo_transpbg.gif Up
istructure_decl.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2024 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_ISTRUCTURE_DECL_H
8#define MI_NEURAYLIB_ISTRUCTURE_DECL_H
9
10#include <mi/neuraylib/idata.h>
11
12namespace mi {
13
33 public base::Interface_declare<0xcd206d33,0x0906,0x4e70,0x82,0x42,0x6a,0x90,0x8a,0xf5,0x82,0x43>
34{
35public:
47 virtual Sint32 add_member( const char* type_name, const char* name) = 0;
48
56 virtual Sint32 remove_member( const char* name) = 0;
57
59 virtual Size get_length() const = 0;
60
66 virtual const char* get_member_type_name( Size index) const = 0;
67
73 virtual const char* get_member_type_name( const char* name) const = 0;
74
80 virtual const char* get_member_name( Size index) const = 0;
81
96 virtual const char* get_structure_type_name() const = 0;
97};
98 // end group mi_neuray_types
100
101} // namespace mi
102
103#endif // MI_NEURAYLIB_ISTRUCTURE_DECL_H
A structure declaration is used to describe structure types.
Definition: istructure_decl.h:34
virtual Size get_length() const =0
Returns the number of structure members.
virtual const char * get_member_name(Size index) const =0
Returns the member name of a certain structure member.
virtual const char * get_member_type_name(const char *name) const =0
Returns the type name of a certain structure member.
virtual const char * get_structure_type_name() const =0
Returns the type name used to register this structure declaration.
virtual const char * get_member_type_name(Size index) const =0
Returns the type name of a certain structure member.
virtual Sint32 remove_member(const char *name)=0
Removes a member from the structure declaration.
virtual Sint32 add_member(const char *type_name, const char *name)=0
Adds a new member to the structure 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