7#ifndef MI_NEURAYLIB_ISERIALIZER_H
8#define MI_NEURAYLIB_ISERIALIZER_H
94 return lhs.
id == rhs.
id;
100 return lhs.
id != rhs.
id;
106 return lhs.
id < rhs.
id;
112 return lhs.
id > rhs.
id;
118 return lhs.
id <= rhs.
id;
124 return lhs.
id >= rhs.
id;
136 public base::Interface_declare<0x7a70f2fb,0x1b27,0x416f,0xaa,0x21,0x16,0xc7,0xb4,0xd4,0x1f,0xfc>
170 public base::Interface_declare<0xdcf5a659,0x2b06,0x436b,0x82,0x55,0x36,0x9d,0xbd,0xe7,0x42,0xb1>
184 virtual bool write(
const bool* value,
Size count = 1) = 0;
Mixin class template for deriving new interface declarations.
Definition: interface_declare.h:43
Source for deserializing objects from byte streams.
Definition: ideserializer.h:35
Provides information about the context in which a job is executed.
Definition: iserializer.h:291
virtual Uint64 get_thread_id() const =0
Returns the thread ID.
All serializable objects have to be derived from this interface.
Definition: iserializer.h:137
virtual void deserialize(IDeserializer *deserializer)=0
Deserializes the object from the given deserializer.
virtual base::Uuid get_class_id() const =0
Returns the class ID of the object.
virtual void serialize(ISerializer *serializer) const =0
Serializes the object to the given serializer.
Target for serializing objects to byte streams.
Definition: iserializer.h:171
virtual bool write(const Float32 *value, Size count=1)=0
Writes values of type mi::Float32 to the serializer.
virtual bool write(const Sint16 *value, Size count=1)=0
Writes values of type mi::Sint16 to the serializer.
virtual bool write(const Uint32 *value, Size count=1)=0
Writes values of type mi::Size to the serializer.
virtual bool write(const Sint64 *value, Size count=1)=0
Writes values of type mi::Sint64 to the serializer.
virtual bool write(const Sint32 *value, Size count=1)=0
Writes values of type mi::Sint32 to the serializer.
virtual bool write(const bool *value, Size count=1)=0
Writes values of type bool to the serializer.
virtual void reserve(Size capacity)=0
Gives a hint to the serializer about the required buffer size.
virtual void flush()=0
Flushes the so-far serialized data.
virtual bool serialize(const ISerializable *serializable)=0
Writes a serializable object to the serializer.
virtual bool write(const Tag_struct *value, Size count=1)=0
Writes values of type mi::neuraylib::Tag_struct to the serializer.
virtual bool write(const Float64 *value, Size count=1)=0
Writes values of type mi::Float64 to the serializer.
virtual bool write(const Sint8 *value, Size count=1)=0
Writes values of type mi::Sint8 to the serializer.
virtual bool write(const Uint16 *value, Size count=1)=0
Writes values of type mi::Uint16 to the serializer.
virtual bool write(const Uint8 *value, Size count=1)=0
Writes values of type mi::Uint8 to the serializer.
virtual bool write(const Uint64 *value, Size count=1)=0
Writes values of type mi::Uint64 to the serializer.
A tag represents a unique identifier for database elements in the database.
Definition: iserializer.h:54
Tag()
Constructor.
Definition: iserializer.h:59
Tag(Tag_struct tag_struct)
Constructor from the underlying storage type.
Definition: iserializer.h:62
bool is_valid() const
Returns true if the tag is valid, i.e., is not equal to NULL_TAG.
Definition: iserializer.h:65
bool(Tag::* bool_conversion_support)() const
Helper typedef.
Definition: iserializer.h:71
long long Sint64
64-bit signed integer.
Definition: types.h:61
unsigned long long Uint64
64-bit unsigned integer.
Definition: types.h:62
signed short Sint16
16-bit signed integer.
Definition: types.h:45
unsigned int Uint32
32-bit unsigned integer.
Definition: types.h:49
unsigned char Uint8
8-bit unsigned integer.
Definition: types.h:47
Uint64 Size
Unsigned integral type that is large enough to hold the size of all types.
Definition: types.h:112
signed char Sint8
8-bit signed integer.
Definition: types.h:44
double Float64
64-bit float.
Definition: types.h:52
float Float32
32-bit float.
Definition: types.h:51
unsigned short Uint16
16-bit unsigned integer.
Definition: types.h:48
signed int Sint32
32-bit signed integer.
Definition: types.h:46
bool operator>=(const Tag &lhs, const Tag &rhs)
Returns true if lhs is greater than or equal to rhs.
Definition: iserializer.h:122
bool operator<=(const Tag &lhs, const Tag &rhs)
Returns true if lhs is less than or equal to rhs.
Definition: iserializer.h:116
bool operator!=(const Tag &lhs, const Tag &rhs)
Returns true if lhs is not equal to rhs.
Definition: iserializer.h:98
const Tag NULL_TAG
This value of the tag represents an invalid tag which can not be accessed.
Definition: iserializer.h:128
bool operator>(const Tag &lhs, const Tag &rhs)
Returns true if lhs is greater than rhs.
Definition: iserializer.h:110
bool operator==(const Tag &lhs, const Tag &rhs)
Returns true if lhs is equal to rhs.
Definition: iserializer.h:92
bool operator<(const Tag &lhs, const Tag &rhs)
Returns true if lhs is less than rhs.
Definition: iserializer.h:104
Mixin class template for deriving new interface declarations.
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH.
Definition: dice.h:89
A 128 bit representation of a universally unique identifier (UUID or GUID).
Definition: uuid.h:26
A tag represents a unique identifier for database elements in the database.
Definition: iserializer.h:45
Uint32 id
The actual ID of the tag.
Definition: iserializer.h:47