JSON Voorhees
Killer JSON for C++
jsonv::detail::member_adapter_impl< T, TMember > Class Template Reference
+ Inheritance diagram for jsonv::detail::member_adapter_impl< T, TMember >:

Public Types

using mutator_type = std::function< void(T &, TMember &&)>
 
using accessor_type = std::function< const TMember &(const T &)>
 

Public Member Functions

 member_adapter_impl (std::string name, mutator_type mutator, accessor_type access)
 
 member_adapter_impl (std::string name, TMember T::*selector)
 
virtual void mutate (const extraction_context &context, const value &from, T &out) const override
 
virtual void to_json (const serialization_context &context, const T &from, value &out) const override
 
virtual bool has_extract_key (string_view key) const override
 
void add_encode_check (std::function< bool(const serialization_context &, const TMember &)> check)
 
void add_extraction_mutator (std::function< TMember(TMember &&)> mutate)
 
void add_extraction_check (std::function< void(const TMember &)> check)
 
void default_value (std::function< TMember(const extraction_context &, const value &)> &&create)
 
void default_on_null (bool on)
 

Friends

template<typename U , typename UMember >
class member_adapter_builder
 

Detailed Description

template<typename T, typename TMember>
class jsonv::detail::member_adapter_impl< T, TMember >

Definition at line 692 of file serialization_builder.hpp.


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