DAW JSON Link
Classes | Namespaces | Typedefs
daw_json_link_types.h File Reference
#include "impl/daw_json_link_types_fwd.h"
#include "impl/daw_json_traits.h"
#include "impl/version.h"
#include <daw/daw_attributes.h>
#include <daw/daw_string_view.h>
#include <daw/daw_traits.h>
#include <daw/daw_visit.h>
#include <cstddef>
#include <string_view>
#include <tuple>
#include <type_traits>

Go to the source code of this file.

Classes

struct  daw::json::DAW_JSON_VER::json_array< Name, JsonElement, Container, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_array< JsonElement, Container, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_bool< T, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_bool< Name, T, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_class< Name, T, Constructor, Options >
 
struct  daw::json::DAW_JSON_VER::json_base::json_class< T, Constructor, Options >
 
struct  daw::json::DAW_JSON_VER::json_class_map< JsonMember >
 
struct  daw::json::DAW_JSON_VER::json_custom< Name, T, FromJsonConverter, ToJsonConverter, Options >
 
struct  daw::json::DAW_JSON_VER::json_base::json_custom< T, FromJsonConverter, ToJsonConverter, Options >
 
struct  daw::json::DAW_JSON_VER::json_data_contract< basic_json_value< ParseState > >
 
struct  daw::json::DAW_JSON_VER::json_data_contract< tuple_json_mapping< Members... > >
 
struct  daw::json::DAW_JSON_VER::json_base::json_date< T, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_date< Name, T, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_key_value< Name, Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_key_value< Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_key_value_array< Name, Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_key_value_array< Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_member_list< JsonMembers >
 
struct  daw::json::DAW_JSON_VER::json_number< Name, T, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_base::json_number< T, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_ordered_member_list< JsonMembers >
 
struct  daw::json::DAW_JSON_VER::json_base::json_raw< T, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_raw< Name, T, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_sized_array< Name, JsonElement, SizeMember, Container, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_string< String, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_string< Name, String, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_string_raw< Name, String, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_base::json_string_raw< String, Options, Constructor >
 
struct  daw::json::DAW_JSON_VER::json_submember_tagged_variant< TagMember, Switcher, JsonClasses >
 
struct  daw::json::DAW_JSON_VER::json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_tagged_variant< Name, T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_base::json_tuple< Tuple, Constructor, Options >
 
struct  daw::json::DAW_JSON_VER::json_tuple< Name, Tuple, Constructor, Options >
 
struct  daw::json::DAW_JSON_VER::json_base::json_variant< T, JsonElements, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::json_variant< Name, T, JsonElements, Constructor, Nullable >
 
struct  daw::json::DAW_JSON_VER::non_discriminated_variant_base_map< json_variant_type_list< JsonElements... > >
 This ensures that we only map to up to one of each of the basic JSON types(Number, Bool, String, Array, Class) plus being optionally nullable. More...
 
struct  daw::json::DAW_JSON_VER::ordered_json_member< Index, JsonMember >
 
struct  daw::json::DAW_JSON_VER::tuple_json_mapping< Members >
 

Namespaces

 daw
 
 daw::json
 
 daw::json::DAW_JSON_VER
 
 daw::json::DAW_JSON_VER::json_base
 
 daw::json::DAW_JSON_VER::json_details
 

Typedefs

template<typename JsonElement , typename Container = std::vector< typename json_details::json_deduced_type<JsonElement>::parse_to_t>, typename Constructor = default_constructor<Container>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_array_no_name = json_base::json_array< JsonElement, Container, Constructor, Nullable >
 
template<typename JsonElement , typename Container = std::vector< typename json_details::json_deduced_type<JsonElement>::parse_to_t>, typename Constructor = nullable_constructor<Container>>
using daw::json::DAW_JSON_VER::json_array_null_no_name = json_base::json_array< JsonElement, Container, Constructor, JsonNullDefault >
 
template<typename T = bool, json_details::json_options_t Options = bool_opts_def, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_bool_no_name = json_base::json_bool< T, Options, Constructor >
 
template<typename T = std::optional<bool>, json_details::json_options_t Options = bool_opts_def, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_bool_null_no_name = json_base::json_bool< T, json_details::bool_opts_set< Options, JsonNullDefault >, Constructor >
 
template<typename T = double, json_details::json_options_t Options = number_opts_def, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_checked_number_no_name = json_base::json_number< T, json_details::number_opts_set< Options, JsonRangeCheck::CheckForNarrowing >, Constructor >
 
template<typename T = std::optional<double>, json_details::json_options_t Options = number_opts_def, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_checked_number_null_no_name = json_base::json_number< T, json_details::number_opts_set< Options, JsonRangeCheck::CheckForNarrowing, JsonNullDefault >, Constructor >
 
template<typename T , typename Constructor = default_constructor<T>, json_details::json_options_t Options = class_opts_def>
using daw::json::DAW_JSON_VER::json_class_no_name = json_base::json_class< T, Constructor, Options >
 
template<typename T , typename Constructor = nullable_constructor<T>, json_details::json_options_t Options = class_opts_def>
using daw::json::DAW_JSON_VER::json_class_null_no_name = json_base::json_class< T, Constructor, json_details::class_opts_set< Options, JsonNullDefault > >
 
template<typename T , typename FromJsonConverter = default_from_json_converter_t<T>, typename ToJsonConverter = default_to_json_converter_t<T>, json_details::json_options_t Options = json_custom_opts_def>
using daw::json::DAW_JSON_VER::json_custom_lit_no_name = json_base::json_custom< T, FromJsonConverter, ToJsonConverter, json_details::json_custom_opts_set< Options, JsonCustomTypes::Literal > >
 
template<typename T , typename FromJsonConverter = default_from_json_converter_t<T>, typename ToJsonConverter = default_to_json_converter_t<T>, json_details::json_options_t Options = json_custom_opts_def>
using daw::json::DAW_JSON_VER::json_custom_lit_null_no_name = json_base::json_custom< T, FromJsonConverter, ToJsonConverter, json_details::json_custom_opts_set< Options, JsonCustomTypes::Literal, JsonNullDefault > >
 
template<typename T , typename FromJsonConverter = default_from_json_converter_t<T>, typename ToJsonConverter = default_to_json_converter_t<T>, json_details::json_options_t Options = json_custom_opts_def>
using daw::json::DAW_JSON_VER::json_custom_no_name = json_base::json_custom< T, FromJsonConverter, ToJsonConverter, Options >
 
template<typename T , typename FromJsonConverter = default_from_json_converter_t<T>, typename ToJsonConverter = default_to_json_converter_t<T>, json_details::json_options_t Options = json_custom_opts_def>
using daw::json::DAW_JSON_VER::json_custom_null_no_name = json_base::json_custom< T, FromJsonConverter, ToJsonConverter, json_details::json_custom_opts_set< Options, JsonNullDefault > >
 
template<typename T , typename Constructor = default_constructor<T>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_date_no_name = json_base::json_date< T, Constructor, Nullable >
 
template<typename T , typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_date_null_no_name = json_base::json_date< T, Constructor, JsonNullDefault >
 
template<JSONNAMETYPE Name, typename T = json_value, typename Constructor = default_constructor<T>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_delayed = json_raw< Name, T, Constructor, Nullable >
 
template<JSONNAMETYPE Name, typename T = std::optional<json_value>, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_delayed_null = json_raw_null< Name, T, Constructor >
 
template<typename Container , typename JsonValueType = typename Container::mapped_type, typename JsonKeyType = typename Container::key_type, typename Constructor = default_constructor<Container>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_key_value_array_no_name = json_base::json_key_value_array< Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
template<typename Container , typename JsonValueType = typename Container::mapped_type, typename JsonKeyType = typename Container::key_type, typename Constructor = nullable_constructor<Container>>
using daw::json::DAW_JSON_VER::json_key_value_array_null_no_name = json_base::json_key_value_array< Container, JsonValueType, JsonKeyType, Constructor, JsonNullDefault >
 
template<typename Container , typename JsonValueType = typename Container::mapped_type, typename JsonKeyType = typename Container::key_type, typename Constructor = default_constructor<Container>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_key_value_no_name = json_base::json_key_value< Container, JsonValueType, JsonKeyType, Constructor, Nullable >
 
template<typename Container , typename JsonValueType = typename Container::mapped_type, typename JsonKeyType = typename Container::key_type, typename Constructor = nullable_constructor<Container>>
using daw::json::DAW_JSON_VER::json_key_value_null_no_name = json_base::json_key_value< Container, JsonValueType, JsonKeyType, Constructor, JsonNullDefault >
 
template<JSONNAMETYPE Name, typename T >
using daw::json::DAW_JSON_VER::json_link = typename json_details::ensure_mapped_t< json_details::json_deduced_type< T > >::template with_name< Name >
 
template<typename T >
using daw::json::DAW_JSON_VER::json_link_no_name = json_details::ensure_mapped_t< json_details::json_deduced_type< T > >
 
template<typename T = double, json_details::json_options_t Options = number_opts_def, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_number_no_name = json_base::json_number< T, Options, Constructor >
 
template<typename T = std::optional<double>, json_details::json_options_t Options = number_opts_def, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_number_null_no_name = json_base::json_number< T, json_details::number_opts_set< Options, JsonNullDefault >, Constructor >
 
using daw::json::DAW_JSON_VER::json_pair = basic_json_pair< NoCommentSkippingPolicyChecked >
 
template<typename T = json_value, typename Constructor = default_constructor<T>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_raw_no_name = json_base::json_raw< T, Constructor, Nullable >
 
template<JSONNAMETYPE Name, typename T = std::optional<json_value>, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_raw_null = json_raw< Name, T, Constructor, JsonNullDefault >
 
template<typename T = std::optional<json_value>, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_raw_null_no_name = json_base::json_raw< T, Constructor, JsonNullDefault >
 
template<typename JsonElement , typename SizeMember , typename Container = std::vector< typename json_details::json_deduced_type<JsonElement>::parse_to_t>, typename Constructor = default_constructor<Container>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_sized_array_no_name = json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, Nullable >
 
template<typename JsonElement , typename SizeMember , typename Container = std::vector< typename json_details::json_deduced_type<JsonElement>::parse_to_t>, typename Constructor = nullable_constructor<Container>>
using daw::json::DAW_JSON_VER::json_sized_array_null_no_name = json_base::json_sized_array< JsonElement, SizeMember, Container, Constructor, JsonNullDefault >
 
template<typename T = std::string, json_details::json_options_t Options = string_opts_def, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_string_no_name = json_base::json_string< T, Options, Constructor >
 
template<typename T = std::optional<std::string>, json_details::json_options_t Options = string_opts_def, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_string_null_no_name = json_base::json_string< T, json_details::string_opts_set< Options, JsonNullDefault >, Constructor >
 
template<typename T = std::string, json_details::json_options_t Options = string_raw_opts_def, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_string_raw_no_name = json_base::json_string_raw< T, Options, Constructor >
 
template<typename T = std::optional<std::string>, json_details::json_options_t Options = string_raw_opts_def, typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_string_raw_null_no_name = json_base::json_string_raw< T, json_details::string_raw_opts_set< Options, JsonNullDefault >, Constructor >
 
template<typename T , typename TagMember , typename Switcher , typename JsonElements = json_details:: determine_variant_element_types<JsonNullable::MustExist, T>, typename Constructor = default_constructor<T>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_tagged_variant_no_name = json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, Nullable >
 
template<typename T , typename TagMember , typename Switcher , typename JsonElements = json_details:: determine_variant_element_types<JsonNullable::MustExist, T>, typename Constructor = default_constructor<T>>
using daw::json::DAW_JSON_VER::json_tagged_variant_null_no_name = json_base::json_tagged_variant< T, TagMember, Switcher, JsonElements, Constructor, JsonNullDefault >
 
template<typename... JsonElements>
using daw::json::DAW_JSON_VER::json_tagged_variant_type_list = json_variant_type_list< JsonElements... >
 
template<typename Tuple , typename Constructor = default_constructor<Tuple>, json_details::json_options_t Options = tuple_opts_def>
using daw::json::DAW_JSON_VER::json_tuple_no_name = json_base::json_tuple< Tuple, Constructor, Options >
 
template<typename Tuple , typename Constructor = default_constructor<Tuple>, json_details::json_options_t Options = tuple_opts_def>
using daw::json::DAW_JSON_VER::json_tuple_null_no_name = json_base::json_tuple< Tuple, Constructor, json_details::tuple_opts_set< Options, JsonNullDefault > >
 
using daw::json::DAW_JSON_VER::json_value = basic_json_value< NoCommentSkippingPolicyChecked >
 
template<typename T , typename JsonElements , typename Constructor = default_constructor<T>, JsonNullable Nullable = JsonNullable::MustExist>
using daw::json::DAW_JSON_VER::json_variant_no_name = json_base::json_variant< T, JsonElements, Constructor, JsonNullable::MustExist >
 
template<typename T , typename JsonElements , typename Constructor = nullable_constructor<T>>
using daw::json::DAW_JSON_VER::json_variant_null_no_name = json_base::json_variant< T, JsonElements, Constructor, JsonNullDefault >
 
template<typename JsonMember >
using daw::json::DAW_JSON_VER::json_details::ordered_member_wrapper = std::conditional_t< is_an_ordered_member_v< JsonMember >, JsonMember, json_deduced_type< JsonMember > >