DAW JSON Link
Public Types | Static Public Attributes | List of all members
daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList > Struct Template Reference

#include <daw_json_link_types.h>

Inheritance diagram for daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >:
daw::json::DAW_JSON_VER::json_tuple< Name, Tuple, Constructor, Options, JsonTupleTypesList >

Public Types

using base_type = json_details::unwrapped_t< Tuple, nullable >
 
using constructor_t = std::conditional_t< std::is_same< Constructor, json_deduce_type >::value, std::conditional_t< nullable==JsonNullable::MustExist, json_details::json_class_constructor_t< base_type, default_constructor< Tuple > >, json_details::json_class_constructor_t< base_type, nullable_constructor< Tuple > > >, json_details::json_class_constructor_t< base_type, Constructor > >
 
using i_am_a_json_type = void
 
using parse_to_t = typename json_details::construction_result< nullable !=JsonNullable::MustExist, constructor_t, base_type >::type
 
using sub_member_list = typename std::conditional_t< std::is_same< JsonTupleTypesList, json_deduce_type >::value, daw::traits::identity< json_details::tuple_types_list< Tuple > >, daw::traits::identity< json_details::tuple_types_list< JsonTupleTypesList > > >::type::types
 
template<JSONNAMETYPE NewName>
using with_name = daw::json::json_tuple< NewName, Tuple, Constructor, Options >
 
using without_name = json_tuple
 
using wrapped_type = Tuple
 

Static Public Attributes

static constexpr JsonParseTypes base_expected_type
 
static constexpr JsonParseTypes expected_type
 
static constexpr bool force_aggregate_construction = false
 
static constexpr bool must_be_class_member = false
 
static constexpr daw::string_view name = no_name
 
static constexpr JsonNullable nullable
 
static constexpr JsonBaseParseTypes underlying_json_type
 

Member Typedef Documentation

◆ base_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::base_type = json_details::unwrapped_t<Tuple, nullable>

◆ constructor_t

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::constructor_t = std::conditional_t< std::is_same<Constructor, json_deduce_type>::value, std::conditional_t<nullable == JsonNullable::MustExist, json_details::json_class_constructor_t< base_type, default_constructor<Tuple> >, json_details::json_class_constructor_t< base_type, nullable_constructor<Tuple> >>, json_details::json_class_constructor_t<base_type, Constructor> >

◆ i_am_a_json_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::i_am_a_json_type = void

◆ parse_to_t

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::parse_to_t = typename json_details::construction_result< nullable != JsonNullable::MustExist, constructor_t, base_type>::type

◆ sub_member_list

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::sub_member_list = typename std::conditional_t< std::is_same<JsonTupleTypesList, json_deduce_type>::value, daw::traits::identity<json_details::tuple_types_list<Tuple> >, daw::traits::identity< json_details::tuple_types_list<JsonTupleTypesList> >>::type::types

◆ with_name

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
template<JSONNAMETYPE NewName>
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::with_name = daw::json::json_tuple<NewName, Tuple, Constructor, Options>

◆ without_name

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::without_name = json_tuple

◆ wrapped_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
using daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::wrapped_type = Tuple

Member Data Documentation

◆ base_expected_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::base_expected_type
staticconstexpr
Initial value:
=
@ Tuple
A variant type where the Switcher is based on a submember of the class being parsed.

◆ expected_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::Tuple, nullable>

◆ force_aggregate_construction

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr bool daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::force_aggregate_construction = false
staticconstexpr

◆ must_be_class_member

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr bool daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::must_be_class_member = false
staticconstexpr

◆ name

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr daw::string_view daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::name = no_name
staticconstexpr

◆ nullable

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr JsonNullable daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::nullable
staticconstexpr
Initial value:
=
json_details::get_bits_for<JsonNullable>( tuple_opts, Options )
constexpr auto tuple_opts
Definition: daw_json_type_options.h:218

◆ underlying_json_type

template<typename Tuple , typename Constructor , json_details::json_options_t Options, typename JsonTupleTypesList >
constexpr JsonBaseParseTypes daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options, JsonTupleTypesList >::underlying_json_type
staticconstexpr

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