Reflection for RapidJSON 0.0.16
Reflection for serializing/deserializing with RapidJSON
Loading...
Searching...
No Matches
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.