JSON Voorhees
Killer JSON for C++
jsonv::serializer_for< T > Class Template Referenceabstract
+ Inheritance diagram for jsonv::serializer_for< T >:

Public Member Functions

virtual const std::type_info & get_type () const override
 Get the run-time type this serialize knows how to encode. More...
 
virtual value to_json (const serialization_context &context, const void *from) const override
 Create a value from the value in the given region of memory. More...
 

Protected Member Functions

virtual value to_json (const serialization_context &context, const T &from) const =0
 

Detailed Description

template<typename T>
class jsonv::serializer_for< T >

Definition at line 153 of file serialization_util.hpp.

Member Function Documentation

template<typename T >
virtual const std::type_info& jsonv::serializer_for< T >::get_type ( ) const
inlineoverridevirtual

Get the run-time type this serialize knows how to encode.

Once this serializer is registered with a formats, it is not allowed to change.

Implements jsonv::serializer.

Definition at line 157 of file serialization_util.hpp.

template<typename T >
virtual value jsonv::serializer_for< T >::to_json ( const serialization_context context,
const void *  from 
) const
inlineoverridevirtual

Create a value from the value in the given region of memory.

Parameters
contextExtra information to help you encode sub-objects for your type, such as the ability to find other formats. It also tracks the progression of types in the encoding heirarchy, so any exceptions thrown will have type information in the error message.
fromThe region of memory that represents the C++ value to convert to JSON. The pointer comes as the result of a static_cast<void*>, so performing a static_cast back to your type is okay.

Implements jsonv::serializer.

Definition at line 162 of file serialization_util.hpp.


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