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

The BinarySerializer class can write various data types, including custom ones, to an std::ostream. More...

#include <reflector.h>

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

Public Member Functions

 BinarySerializer (std::ostream *stream)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializationOf< Type, std::pair > > * = nullptr>
void write (const Type &pair)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializingAnyOf< Type, std::unique_ptr, std::optional > > * = nullptr>
void write (const Type &pointer)
 
template<typename Type , Traits::EnableIf< Traits::IsSpecializingAnyOf< Type, std::shared_ptr > > * = nullptr>
void write (const Type &pointer)
 
template<typename Type , Traits::EnableIf< IsIteratableExceptString< Type >, Traits::HasSize< Type > > * = nullptr>
void write (const Type &iteratable)
 
template<typename Type , Traits::EnableIf< std::is_enum< Type > > * = nullptr>
void write (const Type &enumValue)
 
template<typename Type , Traits::EnableIf< IsVariant< Type > > * = nullptr>
void write (const Type &variant)
 
template<typename Type , Traits::EnableIf< IsBuiltInType< Type > > * = nullptr>
void write (const Type &builtInType, BinaryVersion version)
 
template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
void write (const Type &customType, BinaryVersion version=0)
 

Friends

class ::BinaryReflectorTests
 

Detailed Description

The BinarySerializer class can write various data types, including custom ones, to an std::ostream.

Definition at line 100 of file reflector.h.

Constructor & Destructor Documentation

◆ BinarySerializer()

ReflectiveRapidJSON::BinaryReflector::BinarySerializer::BinarySerializer ( std::ostream * stream)
inlineexplicit

Definition at line 252 of file reflector.h.

Member Function Documentation

◆ write() [1/8]

template<typename Type , Traits::EnableIf< IsCustomType< Type > > * >
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & builtInType,
BinaryVersion version )

Definition at line 326 of file reflector.h.

◆ write() [2/8]

template<typename Type , Traits::EnableIf< IsCustomType< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & customType,
BinaryVersion version = 0 )

◆ write() [3/8]

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

◆ write() [4/8]

template<typename Type , Traits::EnableIf< IsIteratableExceptString< Type >, Traits::HasSize< Type > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & iteratable)

◆ write() [5/8]

template<typename Type , Traits::EnableIf< IsVariant< Type > > * >
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & pair)

Definition at line 257 of file reflector.h.

◆ write() [6/8]

template<typename Type , Traits::EnableIf< Traits::IsSpecializingAnyOf< Type, std::unique_ptr, std::optional > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & pointer)

◆ write() [7/8]

template<typename Type , Traits::EnableIf< Traits::IsSpecializingAnyOf< Type, std::shared_ptr > > * = nullptr>
void ReflectiveRapidJSON::BinaryReflector::BinarySerializer::write ( const Type & pointer)

◆ write() [8/8]

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

Friends And Related Symbol Documentation

◆ ::BinaryReflectorTests

friend class ::BinaryReflectorTests
friend

Definition at line 101 of file reflector.h.


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