Reflection for RapidJSON  0.0.9
Reflection for serializing/deserializing with RapidJSON
Public Member Functions | Public Attributes | List of all members
ReflectiveRapidJSON::BinaryReflector::BinarySerializer Class Reference

#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 >> * = 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 &customType)
 
template<typename Type , Traits::EnableIf< IsCustomType< Type >> * = nullptr>
void write (const Type &customType)
 

Public Attributes

std::unordered_map< std::uint64_t, bool > m_pointer
 

Detailed Description

Definition at line 72 of file reflector.h.

Constructor & Destructor Documentation

◆ BinarySerializer()

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

Definition at line 176 of file reflector.h.

Member Function Documentation

◆ write() [1/6]

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

◆ write() [2/6]

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

◆ write() [3/6]

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

◆ write() [4/6]

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

Definition at line 181 of file reflector.h.

◆ write() [5/6]

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

◆ write() [6/6]

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

Member Data Documentation

◆ m_pointer

std::unordered_map<std::uint64_t, bool> ReflectiveRapidJSON::BinaryReflector::BinarySerializer::m_pointer

Definition at line 84 of file reflector.h.


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