DAW JSON Link
Public Types | Static Public Attributes | List of all members
daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable > Struct Template Reference

#include <daw_json_link_types.h>

Inheritance diagram for daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >:
daw::json::DAW_JSON_VER::json_sized_array< Name, JsonElement, SizeMember, Container, Constructor, Nullable >

Public Types

using base_type = json_details::unwrapped_t< Container, nullable >
 
using constructor_t = std::conditional_t< std::is_same_v< Constructor, json_deduce_type >, std::conditional_t< nullable==JsonNullable::MustExist, default_constructor< container_t >, nullable_constructor< container_t > >, Constructor >
 
using container_t = std::conditional_t< std::is_same_v< Container, json_deduce_type >, std::vector< json_element_parse_to_t >, Container >
 
using dependent_member = SizeMember
 
using i_am_a_json_type = void
 
using json_element_parse_to_t = typename json_element_t::parse_to_t
 
using json_element_t = json_details::json_deduced_type< JsonElement >
 
using parse_to_t = typename json_details::construction_result< nullable !=JsonNullable::MustExist, constructor_t, json_element_parse_to_t const *, json_element_parse_to_t const *, std::size_t >::type
 
template<JSONNAMETYPE NewName>
using with_name = daw::json::json_sized_array< NewName, JsonElement, SizeMember, Container, Constructor, Nullable >
 
using without_name = json_sized_array
 

Static Public Attributes

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

Member Typedef Documentation

◆ base_type

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::base_type = json_details::unwrapped_t<Container, nullable>

◆ constructor_t

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::constructor_t = std::conditional_t< std::is_same_v<Constructor, json_deduce_type>, std::conditional_t<nullable == JsonNullable::MustExist, default_constructor<container_t>, nullable_constructor<container_t> >, Constructor>

◆ container_t

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::container_t = std::conditional_t<std::is_same_v<Container, json_deduce_type>, std::vector<json_element_parse_to_t>, Container>

◆ dependent_member

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::dependent_member = SizeMember

◆ i_am_a_json_type

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::i_am_a_json_type = void

◆ json_element_parse_to_t

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::json_element_parse_to_t = typename json_element_t::parse_to_t

◆ json_element_t

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::json_element_t = json_details::json_deduced_type<JsonElement>

◆ parse_to_t

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::parse_to_t = typename json_details::construction_result< nullable != JsonNullable::MustExist, constructor_t, json_element_parse_to_t const *, json_element_parse_to_t const *, std::size_t>::type

◆ with_name

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
template<JSONNAMETYPE NewName>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::with_name = daw::json::json_sized_array<NewName, JsonElement, SizeMember, Container, Constructor, Nullable>

◆ without_name

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
using daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::without_name = json_sized_array

Member Data Documentation

◆ base_expected_type

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::base_expected_type
staticconstexpr
Initial value:
=
@ SizedArray
An array type with homogenous members.

◆ expected_type

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr JsonParseTypes daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::expected_type
staticconstexpr
Initial value:
=
get_parse_type_v<JsonParseTypes::SizedArray, nullable>

◆ must_be_class_member

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr bool daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::must_be_class_member = true
staticconstexpr

◆ name

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr daw::string_view daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::name = no_name
staticconstexpr

◆ nullable

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr JsonNullable daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::nullable = Nullable
staticconstexpr

◆ underlying_json_type

template<typename JsonElement , typename SizeMember , typename Container , typename Constructor , JsonNullable Nullable>
constexpr JsonBaseParseTypes daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >::underlying_json_type
staticconstexpr

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