diff --git a/lsignal.h b/lsignal.h index ce829e0..318556a 100644 --- a/lsignal.h +++ b/lsignal.h @@ -27,6 +27,7 @@ SOFTWARE. #ifndef LSIGNAL_H #define LSIGNAL_H +#include #include #include #include @@ -399,7 +400,7 @@ namespace lsignal { for (signal *sig : _children) { - sig->operator()(std::forward(args)...); + sig->operator()(args...); } for (auto iter = _callbacks.cbegin(); iter != _callbacks.cend(); ++iter) @@ -410,10 +411,10 @@ namespace lsignal { if (std::next(iter, 1) == _callbacks.cend()) { - return jnt.callback(std::forward(args)...); + return jnt.callback(args...); } - jnt.callback(std::forward(args)...); + jnt.callback(args...); } } } @@ -433,7 +434,7 @@ namespace lsignal { for (signal *sig : _children) { - sig->operator()(std::forward(args)...); + sig->operator()(args...); } result.reserve(_callbacks.size()); @@ -444,7 +445,7 @@ namespace lsignal if (!jnt.connection->locked) { - result.push_back(std::move(jnt.callback(std::forward(args)...))); + result.push_back(std::move(jnt.callback(args...))); } } }