26 template<std::size_t i, std::size_t... next>
27 static constexpr std::size_t value_impl2(std::index_sequence<i, next...>) {
28 if constexpr (std::is_same_v<std::variant_alternative_t<i, Variant>, Type>) {
31 return value_impl2(std::index_sequence<next...>{});
35 static constexpr std::size_t value_impl() {
36 return value_impl2(std::make_index_sequence<std::variant_size_v<Variant>>());
39 static constexpr std::size_t value = value_impl();