Serialization
Serialization and deserialization of native objects.
Classes
-
Bitstream— Allows encoding/decoding of types into a stream of bits. -
BinaryCloner— Helper class that performs cloning of an object that implements RTTI. -
BinarySerializer— Encodes/decodes all the fields of the provided object into/from a binary format. -
FileEncoder— Encodes the provided object to the specified file using the RTTI system. -
FileDecoder— Decodes objects from the specified file using the RTTI system. -
IntermediateSerializer— Helper class for performing SerializedObject < -> IReflectable encoding & decoding. -
BufferedBitstreamReader— Wraps a Bitstream and a DataStream. -
BufferedBitstreamWriter— Wraps a Bitstream and a DataStream. -
Compression— Performs generic compression and decompression on raw data.
Structs
-
BitLength— Encodes a length in bits, as a number of bytes and the number of leftover bits. -
ISerialized— Base class for all data types used in intermediate IReflectable object representation. -
std::equal_to— Equality operator for SPtr <ISerialized >. -
SerializedTuple— Contains data for fields or container entries that are made up of more than one type (e.g. std::pair <K , V>). -
SerializedField— Contains data for a single field in a serialized object. -
SerializedSubObject— Contains a sub-set of fields of a SerializedObject for a single class in a class hierarchy. -
SerializedObject— Represents a serialized version of an IReflectable object. -
SerializedPlainData— Contains data for a serialized value of a specific field or array entry. -
SerializedDataBlock— Contains data for a serialized value of a data block field. -
SerializedArray— A serialized array containing a list of all its entries. -
SerializedMap— A serialized map containing a list of all its entries.
Enums
-
SerializedObjectEncodeFlag— Flags used for controlling the serialization process when encoding an IReflectable to a SerializedObject. -
BinarySerializerFlag— Flags used for controlling BinarySerializer encoding and decoding. -
CompressionType— Supported compression modes.
Free functions
Equals
bool Equals(const SPtr<ISerialized> &lhs, const SPtr<ISerialized> &rhs)
Helper to compare two ISerialized objects for equality, while also checking if they are null.
B3DRTTIClone
SPtr<T> B3DRTTIClone(const T *const object, bool shallow = false)
Clones the provided object.
- object
- Object to clone.
- shallow
- Determines how are fields containing reflectable pointers. If true, then those pointers will keep pointing to the original object (both the clone and original referencing the same object by the pointer). If false, then the pointer object to will be cloned as well.
B3DRTTIClone
SPtr<T> B3DRTTIClone(const SPtr<T> &object, bool shallow = false)
Clones the provided object.
- object
- Object to clone.
- shallow
- Determines how are fields containing reflectable pointers. If true, then those pointers will keep pointing to the original object (both the clone and original referencing the same object by the pointer). If false, then the pointer object to will be cloned as well.
Internal
Symbols intended for engine-internal use. Not part of the public API.
Classes
-
IDeltaHandler— Represents an interface RTTI objects need to implement if they want to provide custom delta generation and applying. -
BinaryDeltaHandler— Generates and applies delta (differences) between two objects.
Structs
-
BinaryCloner::ReferenceId— Identifier representing a single field or a container entry in an object. -
BinaryCloner::ObjectReference— A saved reference to an object with a field identifier that owns it. -
BinaryCloner::SubObjectExternalReferences— Contains all object references in a portion of an object belonging to a specific class (base and derived classes count as separate sub-objects). -
BinaryCloner::ObjectExternalReferences— Contains all object references in an entire object, as well as the identifier of the field owning this object. -
IntermediateSerializer::ObjectDeserializationData -
IDeltaHandler::DeltaCommand— A command that is used for delaying writing to an object, it contains all necessary information for setting RTTI field values on an object. -
SerializedTupleEntryDelta— Holds a single tuple element entry in SerializedTupleDelta. -
SerializedTupleDelta— Contains a delta between two tuples. -
SerializedArrayEntryDelta— Holds a single array element entry in SerializedArrayDelta. -
SerializedArrayDelta— Contains a delta between two arrays. -
SerializedMapEntryDelta— Holds a single array element entry in SerializedMapDelta. -
SerializedMapDelta— Contains a delta between two maps.
Enums
-
IDeltaHandler::DeltaCommandType— Types of commands that are used when applying difference field values.