77#define CE_SERIALIZER_PRIMITIVE_OVERRIDE(T, N) void encode##N(T value) final;
79#undef CE_SERIALIZER_PRIMITIVE_OVERRIDE
#define CE_SERIALIZER_PRIMITIVE_OVERRIDE(T, N)
Definition BinarySerialization.hpp:78
#define CE_SERIALIZER_PRIMITIVE_TYPES(F)
Definition Serializer.hpp:23
A value type that can hold any alongside it's type information.
Definition Box.hpp:40
The deserializer class has basic support for reflection-based deserializers.
Definition Deserializer.hpp:73
A Deserializer that reads the serialized content from a JSON value.
Definition JSONSerialization.hpp:90
Box decodeArray(const JSON &array, Box &&existingObject={})
Box decodeString(const JSON &value, Box &&existingObject={})
Box decodeMap(const JSON &map, Box &&existingObject={})
Box decodeObjectReference()
Box decodeObject(const JSON &value, Box &&existingObject={})
JSONDeserializer(JSON &&json, const SerializationContext &context=SerializationContext::getDefault())
Creates a new JSON deserializer backed by an object.
~JSONDeserializer() noexcept override
Destroys the JSON deserializer.
Box decode(const JSON &value, Box &&existingObject={})
Box decodeNumber(const JSON &value, Box &&existingObject={})
JSON mValue
The JSON value for the deserializer.
Definition JSONSerialization.hpp:93
A Serializer that writes the serialized content as a JSON object.
Definition JSONSerialization.hpp:21
void encodeUndefined() final
void beginObjectProperty(const SerializedPropertyMetadata &metadata) final
void endObjectProperty() final
void beginCustomObject(const SerializedCustomObjectMetadata &metadata) final
JSONSerializer(const SerializationContext &context=SerializationContext::getDefault())
Creates a new JSON serializer backed by an output stream.
void encodeString(StringView string) final
void beginMap(const SerializedMapMetadata &metadata) final
JSON mValue
The JSON value for the serializer.
Definition JSONSerialization.hpp:24
void beginArray(const SerializedArrayMetadata &metadata) final
void encodeObjectReference(UInt32 referenceID) final
void encodeBinary(MemoryView< const Byte > data) final
~JSONSerializer() noexcept override
Destroys the JSON serializer.
void endCustomObject() final
void beginObject(const SerializedObjectMetadata &metadata) final
A memory view is a class which attaches to an chunk of memory and provides a view to it (optionally c...
Definition MemoryView.hpp:62
A context that is shared between multiple serializer and deserializer instances.
Definition Serialization.hpp:196
static const SerializationContext & getDefault()
Gets the default serialization context to be used in case the user doesn't provide one himself.
The serializer class has basic support for reflection-based serializers.
Definition Serializer.hpp:72
const SerializationContext & context
A shared context that contains a context for the deserializer.
Definition Serializer.hpp:75
Definition Application.hpp:19
Byte
Definition DataTypes.hpp:40
BasicJSON<> JSON
Definition JSONForward.hpp:40
std::uint32_t UInt32
Definition DataTypes.hpp:23
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25