DAW JSON Link
Public Types | Static Public Member Functions | List of all members
DAW_JSON_NS::json_member_list< JsonMembers > Struct Template Reference

#include <daw_json_link_types.h>

Public Types

using i_am_a_json_member_list = void
 
template<typename Constructor >
using result_type = json_details::json_class_parse_result_t< Constructor, JsonMembers... >
 

Static Public Member Functions

template<typename JsonClass , typename ParseState >
static constexpr DAW_ONLY_FLATTEN json_details::json_result< JsonClass > parse_to_class (ParseState &parse_state)
 
template<typename OutputIterator , typename Value , typename... Args>
static constexpr OutputIterator serialize (OutputIterator it, std::tuple< Args... > const &args, Value const &v)
 

Detailed Description

template<typename... JsonMembers>
struct DAW_JSON_NS::json_member_list< JsonMembers >

Template Parameters
JsonMembersJSON classes that map the relation ship from the json data to the classes constructor

Member Typedef Documentation

◆ i_am_a_json_member_list

template<typename... JsonMembers>
using DAW_JSON_NS::json_member_list< JsonMembers >::i_am_a_json_member_list = void

◆ result_type

template<typename... JsonMembers>
template<typename Constructor >
using DAW_JSON_NS::json_member_list< JsonMembers >::result_type = json_details::json_class_parse_result_t<Constructor, JsonMembers...>

Member Function Documentation

◆ parse_to_class()

template<typename... JsonMembers>
template<typename JsonClass , typename ParseState >
static constexpr DAW_ONLY_FLATTEN json_details:: json_result<JsonClass> DAW_JSON_NS::json_member_list< JsonMembers >::parse_to_class ( ParseState &  parse_state)
inlinestaticconstexpr

Parse JSON data and construct a C++ class. This is used by parse_value to get back into a mode with a JsonMembers...

Template Parameters
TThe result of parsing json_class
ParseStateInput range type
Parameters
parse_stateJSON data to parse
Returns
A T object

◆ serialize()

template<typename... JsonMembers>
template<typename OutputIterator , typename Value , typename... Args>
static constexpr OutputIterator DAW_JSON_NS::json_member_list< JsonMembers >::serialize ( OutputIterator  it,
std::tuple< Args... > const &  args,
Value const &  v 
)
inlinestaticconstexpr

Serialize a C++ class to JSON data

Template Parameters
OutputIteratorAn output iterator with a char value_type
Argstuple of values that map to the JSON members of v
ValueValue type being serialized
Parameters
itOutputIterator to append string data to
argsmembers from C++ class
vvalue to be serialized as JSON object
Returns
the OutputIterator it at final position

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