JSON Voorhees
Killer JSON for C++
Loading...
Searching...
No Matches
jsonv::function_serializer< T, FSerialize > Class Template Reference

A serializer which calls a function to perform serialization. More...

#include <jsonv/serialization/function_serializer.hpp>

+ Inheritance diagram for jsonv::function_serializer< T, FSerialize >:
+ Collaboration diagram for jsonv::function_serializer< T, FSerialize >:

Public Member Functions

template<typename FUSerialize >
requires (!std::same_as<std::remove_cvref_t<FUSerialize>, function_serializer>)
 function_serializer (FUSerialize &&func)
 Create a serializer which calls func.
 
- Public Member Functions inherited from jsonv::serializer_for< T >
virtual const std::type_info & get_type () const noexcept override
 
virtual void serialize (const serialization_context &context, const void *from, writer &to) const override
 

Protected Member Functions

virtual void serialize (const serialization_context &context, const T &from, writer &to) const override
 Write from into to.
 

Detailed Description

template<typename T, typename FSerialize>
class jsonv::function_serializer< T, FSerialize >

A serializer which calls a function to perform serialization.

The function may take any of the shapes detail::invoke_serialize accepts: it may write into the writer itself or return a value to be written.

Definition at line 32 of file function_serializer.hpp.

Constructor & Destructor Documentation

◆ function_serializer()

template<typename T , typename FSerialize >
template<typename FUSerialize >
requires (!std::same_as<std::remove_cvref_t<FUSerialize>, function_serializer>)
jsonv::function_serializer< T, FSerialize >::function_serializer ( FUSerialize &&  func)
inlineexplicit

Create a serializer which calls func.

Definition at line 41 of file function_serializer.hpp.

Member Function Documentation

◆ serialize()

template<typename T , typename FSerialize >
virtual void jsonv::function_serializer< T, FSerialize >::serialize ( const serialization_context &  context,
const T &  from,
writer &  to 
) const
inlineoverrideprotectedvirtual

Write from into to.

See also
serializer::serialize

Implements jsonv::serializer_for< T >.

Definition at line 46 of file function_serializer.hpp.


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