MDL SDK API nvidia_logo_transpbg.gif Up
imap.h
Go to the documentation of this file.
1/***************************************************************************************************
2 * Copyright 2022 NVIDIA Corporation. All rights reserved.
3 **************************************************************************************************/
6
7#ifndef MI_NEURAYLIB_IMAP_H
8#define MI_NEURAYLIB_IMAP_H
9
10#include <mi/neuraylib/idata.h>
11
12namespace mi {
13
14namespace neuraylib { class IFactory; }
15
38class IMap :
39 public base::Interface_declare<0xca097e3a,0x2621,0x41e7,0x80,0xa3,0x97,0x2f,0x0d,0x56,0xf8,0x47,
40 IData_collection>
41{
42public:
46 virtual Size get_length() const = 0;
47
51 virtual bool empty() const = 0;
52
54 virtual void clear() = 0;
55
63 virtual Sint32 insert( const char* key, base::IInterface* value) = 0;
64
71 virtual Sint32 erase( const char* key) = 0;
72};
73 // end group mi_neuray_collections
75
76} // namespace mi
77
78#endif // MI_NEURAYLIB_IMAP_H
This interface represents maps, i.e., a key-value based data structure.
Definition: imap.h:41
virtual void clear()=0
Removes all keys and their associated values from the map.
virtual Sint32 erase(const char *key)=0
Removes a key and its value from the map.
virtual Sint32 insert(const char *key, base::IInterface *value)=0
Inserts a new key including its value into the map.
virtual bool empty() const =0
Checks whether the map is empty.
virtual Size get_length() const =0
Returns the size of the map.
The basic extensible interface.
Definition: iinterface.h:103
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:110
signed int Sint32
32-bit signed integer.
Definition: types.h:44
Types.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: example_derivatives.dox:5