28namespace essence::meta::detail {
33 constexpr operator T()
const noexcept;
36 template <
typename T,
typename Sequence,
typename =
void>
39 template <
typename T, std::size_t... Is>
41 std::void_t<decltype(T{(Is, fake_any_caster{})...})>> : std::true_type {};
43 template <
typename T, std::
size_t N>
45 is_constructible_with_n_data_members_impl<T, std::make_index_sequence<N>>::value
46 && !is_constructible_with_n_data_members_impl<T, std::make_index_sequence<N + 1>>::value;