JSON Voorhees
Killer JSON for C++
Loading...
Searching...
No Matches
jsonv::adapter_builder< T > Class Template Reference
+ Inheritance diagram for jsonv::adapter_builder< T >:
+ Collaboration diagram for jsonv::adapter_builder< T >:

Public Types

using pre_extract_func = std::function< void(const extraction_context &, const value &)>
 
using post_extract_func = std::function< T(const extraction_context &, T &&)>
 
using extra_keys_func = std::function< void(const extraction_context &, const value &, std::set< std::string >)>
 

Public Member Functions

template<typename F >
 adapter_builder (formats_builder *owner, F &&f)
 
 adapter_builder (formats_builder *owner)
 
adapter_builder< T > & type_default_on_null (bool on=true)
 
adapter_builder< T > & type_default_value (std::function< T(const extraction_context &ctx)> create)
 
adapter_builder< T > & type_default_value (const T &value)
 
template<typename TMember >
member_adapter_builder< T, TMembermember (std::string name, TMember T::*selector)
 
template<typename TMember >
member_adapter_builder< T, TMembermember (std::string name, std::function< const TMember &(const T &)> access, std::function< void(T &, TMember &&)> mutate)
 
template<typename TMember >
member_adapter_builder< T, TMembermember (std::string name, const TMember &(T::*access)() const, TMember &(T::*mutable_access)())
 
template<typename TMember >
member_adapter_builder< T, TMembermember (std::string name, const TMember &(T::*access)() const, void(T::*mutate)(TMember))
 
template<typename TMember >
member_adapter_builder< T, TMembermember (std::string name, const TMember &(T::*access)() const, void(T::*mutate)(TMember &&))
 
adapter_builder< T > & pre_extract (pre_extract_func perform)
 
adapter_builder< T > & post_extract (post_extract_func perform)
 
adapter_builder< T > & on_extract_extra_keys (extra_keys_func handler)
 

Detailed Description

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

Definition at line 945 of file serialization_builder.hpp.

Member Typedef Documentation

◆ extra_keys_func

template<typename T >
using jsonv::adapter_builder< T >::extra_keys_func = std::function<void (const extraction_context&, const value&, std::set<std::string>)>

Definition at line 951 of file serialization_builder.hpp.

◆ post_extract_func

template<typename T >
using jsonv::adapter_builder< T >::post_extract_func = std::function<T (const extraction_context&, T&&)>

Definition at line 950 of file serialization_builder.hpp.

◆ pre_extract_func

template<typename T >
using jsonv::adapter_builder< T >::pre_extract_func = std::function<void (const extraction_context&, const value&)>

Definition at line 949 of file serialization_builder.hpp.

Constructor & Destructor Documentation

◆ adapter_builder() [1/2]

template<typename T >
template<typename F >
jsonv::adapter_builder< T >::adapter_builder ( formats_builder owner,
F &&  f 
)
inlineexplicit

Definition at line 955 of file serialization_builder.hpp.

◆ adapter_builder() [2/2]

template<typename T >
jsonv::adapter_builder< T >::adapter_builder ( formats_builder owner)
inlineexplicit

Definition at line 966 of file serialization_builder.hpp.

Member Function Documentation

◆ member() [1/5]

template<typename T >
template<typename TMember >
member_adapter_builder< T, TMember > jsonv::adapter_builder< T >::member ( std::string  name,
const TMember &(T::*)() const  access,
TMember &(T::*)()  mutable_access 
)
inline

Definition at line 1015 of file serialization_builder.hpp.

◆ member() [2/5]

template<typename T >
template<typename TMember >
member_adapter_builder< T, TMember > jsonv::adapter_builder< T >::member ( std::string  name,
const TMember &(T::*)() const  access,
void(T::*)(TMember &&)  mutate 
)
inline

Definition at line 1039 of file serialization_builder.hpp.

◆ member() [3/5]

template<typename T >
template<typename TMember >
member_adapter_builder< T, TMember > jsonv::adapter_builder< T >::member ( std::string  name,
const TMember &(T::*)() const  access,
void(T::*)(TMember mutate 
)
inline

Definition at line 1027 of file serialization_builder.hpp.

◆ member() [4/5]

template<typename T >
template<typename TMember >
member_adapter_builder< T, TMember > jsonv::adapter_builder< T >::member ( std::string  name,
std::function< const TMember &(const T &)>  access,
std::function< void(T &, TMember &&)>  mutate 
)
inline

Definition at line 1000 of file serialization_builder.hpp.

◆ member() [5/5]

template<typename T >
template<typename TMember >
member_adapter_builder< T, TMember > jsonv::adapter_builder< T >::member ( std::string  name,
TMember T::*  selector 
)
inline

Definition at line 988 of file serialization_builder.hpp.

◆ on_extract_extra_keys()

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::on_extract_extra_keys ( extra_keys_func  handler)
inline

Definition at line 1085 of file serialization_builder.hpp.

◆ post_extract()

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::post_extract ( post_extract_func  perform)
inline

Definition at line 1068 of file serialization_builder.hpp.

◆ pre_extract()

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::pre_extract ( pre_extract_func  perform)
inline

Definition at line 1050 of file serialization_builder.hpp.

◆ type_default_on_null()

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::type_default_on_null ( bool  on = true)
inline

Definition at line 970 of file serialization_builder.hpp.

◆ type_default_value() [1/2]

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::type_default_value ( const T &  value)
inline

Definition at line 982 of file serialization_builder.hpp.

◆ type_default_value() [2/2]

template<typename T >
adapter_builder< T > & jsonv::adapter_builder< T >::type_default_value ( std::function< T(const extraction_context &ctx)>  create)
inline

Definition at line 976 of file serialization_builder.hpp.


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