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

#include <daw_json_link_types.h>

Inheritance diagram for daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >:
daw::json::DAW_JSON_VER::json_class< Name, T, Constructor, Options >

Public Types

using base_type = json_details::unwrapped_t< T, nullable >
 
using constructor_t = json_details::json_class_constructor_t< base_type, Constructor >
 
using data_contract = json_data_contract_trait_t< base_type >
 
using i_am_a_json_type = void
 
using json_member_list = json_data_contract_trait_t< base_type >
 
using parse_to_t = typename std::conditional_t< force_aggregate_construction< base_type >::value, daw::traits::identity< base_type >, daw::traits::identity< typename data_contract::template result_type< constructor_t > > >::type
 
template<JSONNAMETYPE NewName>
using with_name = daw::json::json_class< NewName, T, Constructor, Options >
 
using without_name = json_class
 
using wrapped_type = T
 

Static Public Attributes

static constexpr JsonParseTypes base_expected_type
 
static constexpr JsonParseTypes expected_type
 
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 T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::base_type = json_details::unwrapped_t<T, nullable>

◆ constructor_t

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::constructor_t = json_details::json_class_constructor_t<base_type, Constructor>

◆ data_contract

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::data_contract = json_data_contract_trait_t<base_type>

◆ i_am_a_json_type

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::i_am_a_json_type = void

◆ json_member_list

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::json_member_list = json_data_contract_trait_t<base_type>

◆ parse_to_t

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::parse_to_t = typename std::conditional_t< force_aggregate_construction<base_type>::value, daw::traits::identity<base_type>, daw::traits::identity< typename data_contract::template result_type<constructor_t> >>::type

◆ with_name

template<typename T , typename Constructor , json_details::json_options_t Options>
template<JSONNAMETYPE NewName>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::with_name = daw::json::json_class<NewName, T, Constructor, Options>

◆ without_name

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::without_name = json_class

◆ wrapped_type

template<typename T , typename Constructor , json_details::json_options_t Options>
using daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::wrapped_type = T

Member Data Documentation

◆ base_expected_type

template<typename T , typename Constructor , json_details::json_options_t Options>
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::base_expected_type
staticconstexpr
Initial value:

◆ expected_type

template<typename T , typename Constructor , json_details::json_options_t Options>
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::Class, nullable>

◆ must_be_class_member

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

◆ name

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

◆ nullable

template<typename T , typename Constructor , json_details::json_options_t Options>
constexpr JsonNullable daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::nullable
staticconstexpr
Initial value:
=
json_details::get_bits_for<JsonNullable>( class_opts, Options )
constexpr auto class_opts
Definition: daw_json_type_options.h:207

◆ underlying_json_type

template<typename T , typename Constructor , json_details::json_options_t Options>
constexpr JsonBaseParseTypes daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >::underlying_json_type
staticconstexpr

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