29 namespace json_details {
30 template<
typename T,
typename... Args>
31 inline constexpr bool should_list_construct_v =
32 not std::is_constructible_v<T, Args...> and
33 daw::traits::is_list_constructible_v<T, Args...>;
38 template<
typename T,
typename =
void>
43 std::is_constructible_v<T, Args...> )>
48 return T( DAW_FWD( args )... );
52 json_details::should_list_construct_v<T, Args...> )>
56 noexcept( std::is_nothrow_constructible_v<T, Args...> ) {
57 return T{ DAW_FWD( args )... };
65 template<
typename T,
typename =
void>
73 not concepts::is_nullable_value_v<T> )
75 concepts::nullable_impl::is_list_constructible_v<T> and