Reflection for RapidJSON 0.0.16
Reflection for serializing/deserializing with RapidJSON
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
reflector.h File Reference

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

#include "../traits.h"
#include "../versioning.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 <optional>
#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...
 
class  ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer
 The BinaryDeserializer class can read various data types, including custom ones, from an std::istream. More...
 
class  ReflectiveRapidJSON::BinaryReflector::BinarySerializer
 The BinarySerializer class can write various data types, including custom ones, to an std::ostream. More...
 

Namespaces

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

Typedefs

using ReflectiveRapidJSON::BinaryVersion = std::uint64_t
 
template<typename Type >
using ReflectiveRapidJSON::BinaryReflector::IsBuiltInType
 
template<typename Type >
using ReflectiveRapidJSON::BinaryReflector::IsCustomType = Traits::Not<IsBuiltInType<Type>>
 

Functions

template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
BinaryVersion ReflectiveRapidJSON::BinaryReflector::readCustomType (BinaryDeserializer &deserializer, Type &customType, BinaryVersion version=0)
 Reads customType via deserializer.
 
template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::writeCustomType (BinarySerializer &serializer, const Type &customType, BinaryVersion version=0)
 Writes customType via serializer.
 

Detailed Description

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

Definition in file reflector.h.