Reflection for RapidJSON 0.0.16
Reflection for serializing/deserializing with RapidJSON
Loading...
Searching...
No Matches
ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer Class Reference

The BinaryDeserializer class can read various data types, including custom ones, from an std::istream. More...

#include <reflector.h>

Inheritance diagram for ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer:
[legend]
Collaboration diagram for ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer:
[legend]

Public Member Functions

 BinaryDeserializer (std::istream *stream)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void read (Type &pair)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::unique_ptr > > * = nullptr>
void read (Type &pointer)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::shared_ptr > > * = nullptr>
void read (Type &pointer)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::optional > > * = nullptr>
void read (Type &pointer)
 
template<typename Type , Traits::EnableIf< IsArray< Type >, Traits::IsResizable< Type > > * = nullptr>
void read (Type &iteratable)
 
template<typename Type , Traits::EnableIfAny< IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
void read (Type &iteratable)
 
template<typename Type , Traits::EnableIf< IsIteratableExceptString< Type >, Traits::None< IsMapOrHash< Type >, IsMultiMapOrHash< Type >, Traits::All< IsArray< Type >, Traits::IsResizable< Type > > > > * = nullptr>
void read (Type &iteratable)
 
template<typename Type , Traits::EnableIf< std::is_enum< Type > > * = nullptr>
void read (Type &enumValue)
 
template<typename Type , Traits::EnableIf< IsVariant< Type > > * = nullptr>
void read (Type &variant)
 
template<typename Type , Traits::EnableIf< IsBuiltInType< Type > > * = nullptr>
BinaryVersion read (Type &builtInType, BinaryVersion version)
 
template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
BinaryVersion read (Type &customType, BinaryVersion version=0)
 

Friends

class ::BinaryReflectorTests
 

Detailed Description

The BinaryDeserializer class can read various data types, including custom ones, from an std::istream.

Definition at line 73 of file reflector.h.

Constructor & Destructor Documentation

◆ BinaryDeserializer()

ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::BinaryDeserializer ( std::istream * stream)
inlineexplicit

Definition at line 121 of file reflector.h.

Member Function Documentation

◆ read() [1/11]

template<typename Type , Traits::EnableIf< IsCustomType< Type > > * >
BinaryVersion ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & builtInType,
BinaryVersion version )

Definition at line 241 of file reflector.h.

◆ read() [2/11]

template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
BinaryVersion ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & customType,
BinaryVersion version = 0 )

◆ read() [3/11]

template<typename Type , Traits::EnableIf< std::is_enum< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & enumValue)

◆ read() [4/11]

template<typename Type , Traits::EnableIf< IsArray< Type >, Traits::IsResizable< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & iteratable)

◆ read() [5/11]

template<typename Type , Traits::EnableIfAny< IsMapOrHash< Type >, IsMultiMapOrHash< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & iteratable)

◆ read() [6/11]

template<typename Type , Traits::EnableIf< IsIteratableExceptString< Type >, Traits::None< IsMapOrHash< Type >, IsMultiMapOrHash< Type >, Traits::All< IsArray< Type >, Traits::IsResizable< Type > > > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & iteratable)

◆ read() [7/11]

template<typename Type , Traits::EnableIf< IsVariant< Type > > * >
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & pair)

Definition at line 126 of file reflector.h.

◆ read() [8/11]

template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::unique_ptr > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & pointer)

◆ read() [9/11]

template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::shared_ptr > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & pointer)

◆ read() [10/11]

template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::optional > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & pointer)

◆ read() [11/11]

template<typename Type , Traits::EnableIf< IsVariant< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinaryDeserializer::read ( Type & variant)

Friends And Related Symbol Documentation

◆ ::BinaryReflectorTests

friend class ::BinaryReflectorTests
friend

Definition at line 74 of file reflector.h.


The documentation for this class was generated from the following file: