Reflection for RapidJSON  0.0.15
Reflection for serializing/deserializing with RapidJSON
Classes | Namespaces | Typedefs | Functions
reflector.h File Reference

Contains BinaryReader and BinaryWriter supporting binary (de)serialization of primitive and custom types. More...

#include "../traits.h"
#include <c++utilities/conversion/conversionexception.h>
#include <c++utilities/io/binaryreader.h>
#include <c++utilities/io/binarywriter.h>
#include <any>
#include <limits>
#include <memory>
#include <string>
#include <variant>
Include dependency graph for reflector.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  ReflectiveRapidJSON::AdaptedBinarySerializable< T >
 The AdaptedBinarySerializable class allows considering 3rd party classes as serializable. More...
 
struct  ReflectiveRapidJSON::BinarySerializable< Type >
 The BinarySerializable class provides the CRTP-base for (de)serializable objects. More...
 
class  ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer
 
class  ReflectiveRapidJSON::BinaryReflector::BinarySerializer
 

Namespaces

 ReflectiveRapidJSON
 
 ReflectiveRapidJSON::BinaryReflector
 The BinaryReflector namespace contains BinaryReader and BinaryWriter for automatic binary (de)serialization.
 

Typedefs

template<typename Type >
using ReflectiveRapidJSON::BinaryReflector::IsBuiltInType = Traits::Any< Traits::IsAnyOf< Type, char, std::uint8_t, bool, std::string, std::int16_t, std::uint16_t, std::int32_t, std::uint32_t, std::int64_t, std::uint64_t, float, double >, Traits::IsIteratable< Type >, Traits::IsSpecializingAnyOf< Type, std::pair, std::unique_ptr, std::shared_ptr >, std::is_enum< Type >, IsVariant< Type > >
 
template<typename Type >
using ReflectiveRapidJSON::BinaryReflector::IsCustomType = Traits::Not< IsBuiltInType< Type > >
 

Functions

template<typename Type , Traits::EnableIf< IsCustomType< Type >> * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::readCustomType (BinaryDeserializer &deserializer, Type &customType)
 
template<typename Type , Traits::EnableIf< IsCustomType< Type >> * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::writeCustomType (BinarySerializer &serializer, const Type &customType)
 

Detailed Description

Contains BinaryReader and BinaryWriter supporting binary (de)serialization of primitive and custom types.

Definition in file reflector.h.