Browse Source

workaround for an issue of clang 6

Michele Caini 6 years ago
parent
commit
f558797246
1 changed files with 8 additions and 3 deletions
  1. 8 3
      src/entt/signal/sigh.hpp

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

@@ -266,9 +266,14 @@ class sink<Ret(Args...)> {
     using signal_type = sigh<Ret(Args...)>;
     using difference_type = typename std::iterator_traits<typename decltype(signal_type::calls)::iterator>::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>();
     }
 
 public: