DAW JSON Link
Public Types | Static Public Attributes | List of all members
daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable > Struct Template Reference

#include <daw_json_link_types.h>

Inheritance diagram for daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >:
daw::json::DAW_JSON_VER::json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >

Public Types

template<JSONNAMETYPE NewName>
using with_name = json_tagged_variant< NewName, T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
using without_name = json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
- Public Types inherited from daw::json::DAW_JSON_VER::json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >
using base_type = json_details::unwrapped_t< T, nullable >
 
using constructor_t = json_details::json_class_constructor_t< T, Constructor >
 
using dependent_member = TagMember
 
using i_am_a_json_type = void
 
using i_am_a_tagged_variant = void
 
using json_elements = typename std::conditional_t< std::is_same< JsonElements, json_deduce_type >::value, json_details::determine_variant_element_types< nullable, T >, daw::traits::identity< JsonElements > >::type
 
using parse_to_t = T
 
using switcher = Switcher
 
using tag_member = typename std::conditional_t< json_details::is_a_json_type< TagMember >::value, daw::traits::identity< TagMember >, daw::traits::identity< json_details::json_deduced_type< TagMember > > >::type
 
using tag_member_class_wrapper = std::conditional_t< json_details::is_an_ordered_member_v< tag_member >, json_tuple< std::tuple< typename tag_member::parse_to_t >, json_deduce_type, tuple_opts_def, json_tuple_types_list< tag_member > >, json_details::json_deduced_type< tuple_json_mapping< tag_member > > >
 
template<JSONNAMETYPE NewName>
using with_name = daw::json::json_tagged_variant< NewName, T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
using without_name = json_tagged_variant
 
using wrapped_type = T
 

Static Public Attributes

static constexpr daw::string_view name = Name
 
- Static Public Attributes inherited from daw::json::DAW_JSON_VER::json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >
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 = Nullable
 
static constexpr JsonBaseParseTypes underlying_json_type
 

Member Typedef Documentation

◆ with_name

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
template<JSONNAMETYPE NewName>
using daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::with_name = json_tagged_variant<NewName, T, TagMember, Switcher, JsonElements, Constructor, Nullable>

◆ without_name

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::without_name = json_base::json_tagged_variant<T, TagMember, Switcher, JsonElements, Constructor, Nullable>

Member Data Documentation

◆ name

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
constexpr daw::string_view daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::name = Name
staticconstexpr

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