diff options
Diffstat (limited to 'engine/include/core/signal.hpp')
-rw-r--r-- | engine/include/core/signal.hpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/engine/include/core/signal.hpp b/engine/include/core/signal.hpp index a420989..606d61a 100644 --- a/engine/include/core/signal.hpp +++ b/engine/include/core/signal.hpp @@ -120,11 +120,15 @@ namespace flat bool connect(listener* l); void disconnect(listener* l); - listener::ptr connect(listener::callback f, const std::initializer_list<std::string>& filters = {}); + listener::ptr connect(listener::callback f, + const std::initializer_list<std::string>& filters = {}); template<typename R, typename T> - inline listener::ptr connect(R T::*mf, T& obj, const std::initializer_list<std::string>& filters = {}) { - return connect(std::bind(mf, obj), filters); + inline listener::ptr connect(R T::*mf, T& obj, + const std::initializer_list<std::string>& filters = {}) + { + using namespace std::placeholders; + return connect(std::bind(mf, obj, _1, _2), filters); } static ptr find(const std::string&); |