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

#include <daw_json_link_types.h>

Public Types

using base_type = json_details::unwrap_type< T, Nullable >
 
using constructor_t = json_details::json_class_constructor_t< base_type, Constructor >
 
using i_am_a_json_type = void
 
using i_am_a_tagged_variant = void
 
using json_elements = JsonElements
 
using parse_to_t = T
 
using switcher = Switcher
 
using tag_member = TagMember
 
using wrapped_type = T
 

Static Public Attributes

static constexpr JsonParseTypes base_expected_type
 
static constexpr JsonParseTypes expected_type
 
static constexpr daw::string_view name = Name
 
static constexpr bool nullable = Nullable == JsonNullable::Nullable
 
static constexpr JsonBaseParseTypes underlying_json_type
 

Member Typedef Documentation

◆ base_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::base_type = json_details::unwrap_type<T, Nullable>

◆ constructor_t

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::constructor_t = json_details::json_class_constructor_t<base_type, Constructor>

◆ i_am_a_json_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::i_am_a_json_type = void

◆ i_am_a_tagged_variant

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::i_am_a_tagged_variant = void

◆ json_elements

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::json_elements = JsonElements

◆ parse_to_t

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::parse_to_t = T

◆ switcher

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::switcher = Switcher

◆ tag_member

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::tag_member = TagMember

◆ wrapped_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
using DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::wrapped_type = T

Member Data Documentation

◆ base_expected_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
constexpr JsonParseTypes DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::base_expected_type
staticconstexpr

◆ expected_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
constexpr JsonParseTypes DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::VariantTagged, Nullable>

◆ name

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

◆ nullable

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
constexpr bool DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::nullable = Nullable == JsonNullable::Nullable
staticconstexpr

◆ underlying_json_type

template<JSONNAMETYPE Name, typename T , typename TagMember , typename Switcher , typename JsonElements , typename Constructor , JsonNullable Nullable>
constexpr JsonBaseParseTypes DAW_JSON_NS::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >::underlying_json_type
staticconstexpr

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