Template Struct is_constructible_array_type_impl< BasicJsonType, ConstructibleArrayType, enable_if_t< !std::is_same< ConstructibleArrayType, typename BasicJsonType::value_type >::value &&std::is_default_constructible< ConstructibleArrayType >::value &&(std::is_move_assignable< ConstructibleArrayType >::value||std::is_copy_assignable< ConstructibleArrayType >::value)&&is_detected< value_type_t, ConstructibleArrayType >::value &&is_detected< iterator_t, ConstructibleArrayType >::value &&is_complete_type< detected_t< value_type_t, ConstructibleArrayType > >::value > >

Struct Documentation

template<typename BasicJsonType, typename ConstructibleArrayType>
struct is_constructible_array_type_impl<BasicJsonType, ConstructibleArrayType, enable_if_t<!std::is_same<ConstructibleArrayType, typename BasicJsonType::value_type>::value && std::is_default_constructible<ConstructibleArrayType>::value && (std::is_move_assignable<ConstructibleArrayType>::value || std::is_copy_assignable<ConstructibleArrayType>::value) && is_detected<value_type_t, ConstructibleArrayType>::value && is_detected<iterator_t, ConstructibleArrayType>::value && is_complete_type<detected_t<value_type_t, ConstructibleArrayType>>::value>>

Public Static Attributes

static constexpr bool value = !is_iterator_traits<iterator_traits<ConstructibleArrayType>>::value && (std::is_same<typename ConstructibleArrayType::value_type, typename BasicJsonType::array_t::value_type>::value || has_from_json<BasicJsonType, typename ConstructibleArrayType::value_type>::value || has_non_default_from_json<BasicJsonType, typename ConstructibleArrayType::value_type>::value)