|
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, JsonMember::name==no_name > |
|
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_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 = typename std::conditional_t< daw::is_detected< json_data_contract_constructor_t, T >::value, json_data_contract_constructor< T >, daw::traits::identity< Default > >::type |
|
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 JsonMember > |
using | daw::json::DAW_JSON_VER::json_details::without_name = typename JsonMember::without_name |
|