Reflection for RapidJSON  0.0.6
Reflection for serializing/deserializing with RapidJSON
Classes | Namespaces | Typedefs | Functions
reflector.h File Reference
#include "../traits.h"
#include <c++utilities/conversion/conversionexception.h>
#include <c++utilities/conversion/types.h>
#include <c++utilities/io/binaryreader.h>
#include <c++utilities/io/binarywriter.h>
#include <any>
#include <limits>
#include <memory>
#include <string>
#include <tuple>
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, byte, bool, std::string, int16, uint16, int32, uint32, int64, uint64, float32, float64 >, Traits::IsIteratable< Type >, Traits::IsSpecializingAnyOf< Type, std::pair, std::unique_ptr, std::shared_ptr >, std::is_enum< 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)