Просмотр исходного кода

sigh: rollback some changes that apparently create issues with (very old) compilers (ie clang 6)

Michele Caini 3 лет назад
Родитель
Сommit
7c84ce666e
1 измененных файлов с 8 добавлено и 3 удалено
  1. 8 3
      src/entt/signal/sigh.hpp

+ 8 - 3
src/entt/signal/sigh.hpp

@@ -360,9 +360,14 @@ class sink<sigh<Ret(Args...), Allocator>> {
     using signal_type = sigh<Ret(Args...), Allocator>;
     using difference_type = typename signal_type::container_type::difference_type;
 
-    template<auto Candidate, typename... Type>
-    static void release(Type... value_or_instance, void *signal) {
-        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>(value_or_instance...);
+    template<auto Candidate, typename Type>
+    static void release(Type value_or_instance, void *signal) {
+        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>(value_or_instance);
+    }
+
+    template<auto Candidate>
+    static void release(void *signal) {
+        sink{*static_cast<signal_type *>(signal)}.disconnect<Candidate>();
     }
 
     auto before(delegate<Ret(Args...)> call) {