|
|
@@ -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) {
|