Michele Caini 5 лет назад
Родитель
Сommit
f7fa2f605b
1 измененных файлов с 4 добавлено и 4 удалено
  1. 4 4
      src/entt/poly/poly.hpp

+ 4 - 4
src/entt/poly/poly.hpp

@@ -87,10 +87,10 @@ class poly_vtable {
         };
     }
 
-    template<typename Type, auto... Candidate, auto... Index>
-    [[nodiscard]] static auto fill_vtable(value_list<Candidate...>, std::index_sequence<Index...>) {
+    template<typename Type, auto... Index>
+    [[nodiscard]] static auto fill_vtable(std::index_sequence<Index...>) {
         type impl{};
-        (fill_vtable_entry<Type, Candidate>(std::get<Index>(impl)), ...);
+        (fill_vtable_entry<Type, value_list_element_v<Index, typename Concept::template impl<Type>>>(std::get<Index>(impl)), ...);
         return impl;
     }
 
@@ -105,7 +105,7 @@ public:
      */
     template<typename Type>
     [[nodiscard]] static const auto * instance() {
-        static const auto vtable = fill_vtable<Type>(typename Concept::template impl<Type>{}, std::make_index_sequence<std::tuple_size_v<type>>{});
+        static const auto vtable = fill_vtable<Type>(std::make_index_sequence<Concept::template impl<Type>::size>{});
         return &vtable;
     }
 };