|
template<typename ParsePolicy , typename String , auto OptionMutable, auto OptionImmutable> |
using | daw::json::DAW_JSON_VER::json_details::apply_mutable_policy = std::conditional_t< ParsePolicy::allow_temporarily_mutating_buffer, std::conditional_t< is_mutable_string_v< String >, apply_policy_option_t< ParsePolicy, OptionMutable >, apply_policy_option_t< ParsePolicy, OptionImmutable > >, std::conditional_t<(is_rvalue_string< String > and is_mutable_string_v< String >), apply_policy_option_t< ParsePolicy, OptionMutable >, apply_policy_option_t< ParsePolicy, OptionImmutable > > > |
|
template<typename ParsePolicy , auto Option> |
using | daw::json::DAW_JSON_VER::json_details::apply_policy_option_t = typename ParsePolicy::template SetPolicyOptions< Option > |
|
template<typename ParsePolicy , typename String , auto Option> |
using | daw::json::DAW_JSON_VER::json_details::apply_zstring_policy_option_t = std::conditional_t< is_zero_terminated_string_v< daw::remove_cvref_t< String > >, apply_policy_option_t< ParsePolicy, Option >, ParsePolicy > |
|
template<bool Nullable, typename Constructor , typename... Args> |
using | daw::json::DAW_JSON_VER::json_details::construction_result = std::conditional_t< Nullable, std::conditional_t< std::is_invocable_v< Constructor, Args... >, std::conditional_t< std::is_invocable_v< Constructor >, std::invoke_result< Constructor >, traits::identity< nullable_constructor_cannot_be_invoked< Constructor > > >, traits::identity< nullable_constructor_cannot_be_invoked< Constructor, Args... > > >, std::conditional_t< std::is_invocable_v< Constructor, Args... >, std::invoke_result< Constructor, Args... >, traits::identity< constructor_cannot_be_invoked< Constructor, Args... > > > > |
|
template<typename JsonMember , JSONNAMETYPE NewName, bool Cond> |
using | daw::json::DAW_JSON_VER::json_details::copy_name_when = std::conditional_t< Cond, typename JsonMember::template with_name< NewName >, JsonMember > |
|
template<typename JsonMember , JSONNAMETYPE NewName> |
using | daw::json::DAW_JSON_VER::json_details::copy_name_when_noname = copy_name_when< JsonMember, NewName, is_no_name_v< JsonMember > > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::deref_t_impl::deref_type_detect = DAW_TYPEOF(*std::declval< T >()) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::dereferenced_t = typename deref_t_impl::deref_type_impl< T >::type |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::element_type_t = typename T::element_type |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::force_aggregate_construction = std::bool_constant< std::disjunction_v< daw::is_detected< json_details::force_aggregate_construction_test, T >, daw::is_detected< json_details::force_aggregate_construction_test2, T > > > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::force_aggregate_construction_test = typename json_data_contract< T >::force_aggregate_construction |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::force_aggregate_construction_test2 = decltype(T::force_aggregate_construction) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_string_like_impl::has_data_test = decltype(std::data(std::declval< T >())) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_element_type = daw::is_detected< element_type_t, T > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_empty_member_test = decltype(std::declval< T >().empty()) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_exact_mapping_trait_in_class_map = typename json_data_contract< T >::exact_class_mapping |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_ignore_unknown_members_trait_in_class_map = typename json_data_contract< T >::ignore_unknown_members |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_json_data_constract_constructor_test = decltype(decltype(std::declval< json_data_contract_trait_t< T > >)::constructor) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_op_bool_test = decltype(static_cast< bool >(std::declval< T >())) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::has_op_star_test = decltype(*std::declval< T >()) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_string_like_impl::has_size_test = decltype(std::size(std::declval< T >())) |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_a_json_tagged_variant = daw::is_detected< is_a_json_tagged_variant_test, T > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_a_json_tagged_variant_test = typename T::i_am_a_json_tagged_variant |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_a_json_type = std::bool_constant< daw::is_detected_v< json_type_t, T > > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_an_ordered_member = daw::is_detected< ordered_member_t, T > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_dereferenceable = daw::not_trait< std::is_same< dereferenced_t< T >, deref_t_impl::unable_to_dereference< T > > > |
|
template<typename... Ts> |
using | daw::json::DAW_JSON_VER::is_empty_pack = std::bool_constant<(sizeof...(Ts)==0)> |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_string_view_like = std::conjunction< daw::is_detected< is_string_like_impl::has_data_test, T >, daw::is_detected< is_string_like_impl::has_size_test, T > > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::is_tuple = daw::is_detected< json_details::tuple_test, T > |
| Detect if T follows the tuple protocol. More...
|
|
template<typename T , typename Default > |
using | daw::json::DAW_JSON_VER::json_details::json_class_constructor_t = daw::detected_or_t< Default, json_class_constructor_t_impl, T > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::json_class_constructor_t_impl = typename json_data_contract< T >::constructor |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::json_data_contract_constructor = json_data_contract_constructor_impl< T, daw::is_detected< json_data_contract_trait_t, T >::value, daw::is_detected< has_json_data_constract_constructor_test, T >::value > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::json_data_contract_constructor_t = typename json_data_contract_constructor< T >::type |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_data_contract_trait_t = typename json_data_contract< T >::type |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::json_map_alias_test = typename json_data_contract_trait_t< T >::i_am_a_json_map_alias |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::json_type_t = typename T::i_am_a_json_type |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::ordered_member_t = typename T::i_am_an_ordered_member |
|
template<typename JsonMember > |
using | daw::json::DAW_JSON_VER::json_details::switcher_t = typename JsonMember::switcher |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::test_valid_json_data_contract_trait_t = typename json_data_contract_trait_t< T >::i_am_a_json_member_list |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::tuple_test = typename tuple_elements_pack< T >::type |
|
template<typename > |
using | daw::json::DAW_JSON_VER::json_details::deref_t_impl::unable_to_dereference = void |
|
template<typename T , JsonNullable Nullable> |
using | daw::json::DAW_JSON_VER::json_details::unwrapped_t = typename std::conditional_t< is_nullable_json_value_v< Nullable >, unwrapped_impl::unwrapped_t_impl< T >, T > |
|
template<typename T > |
using | daw::json::DAW_JSON_VER::json_details::unwrapped_impl::unwrapped_t_impl = std::conditional_t< is_dereferenceable_v< T >, dereferenced_t< T >, T > |
|
template<typename JsonMember > |
using | daw::json::DAW_JSON_VER::json_details::without_name = typename JsonMember::without_name |
|