diff options
author | Determinant <[email protected]> | 2018-08-03 13:52:09 -0400 |
---|---|---|
committer | Determinant <[email protected]> | 2018-08-03 13:52:09 -0400 |
commit | 3f1c768e2d5b5e51dec08499d6a877220f33d7a6 (patch) | |
tree | 208dfc45136706e395d16a37bf2bbf77dd548d98 /include | |
parent | 37dc1f5bfe6630c224d1b131562166ab5bdd9976 (diff) |
rename handler_bind and move to type.h
Diffstat (limited to 'include')
-rw-r--r-- | include/salticidae/network.h | 9 | ||||
-rw-r--r-- | include/salticidae/type.h | 5 |
2 files changed, 7 insertions, 7 deletions
diff --git a/include/salticidae/network.h b/include/salticidae/network.h index c7b7f66..63c83be 100644 --- a/include/salticidae/network.h +++ b/include/salticidae/network.h @@ -32,11 +32,6 @@ namespace salticidae { -template<typename ClassType, typename ReturnType, typename... Args, typename... FArgs> -inline auto handler_bind(ReturnType(ClassType::* f)(Args...), FArgs&&... fargs) { - return std::function<ReturnType(Args...)>(std::bind(f, std::forward<FArgs>(fargs)...)); -} - /** Network of nodes who can send async messages. */ template<typename OpcodeType> class MsgNetwork: public ConnPool { @@ -527,8 +522,8 @@ template<typename O, O _, O __> void PeerNetwork<O, _, __>::listen(NetAddr listen_addr) { MsgNet::listen(listen_addr); listen_port = listen_addr.port; - this->reg_handler(handler_bind(&PeerNetwork::msg_ping, this, _1, _2)); - this->reg_handler(handler_bind(&PeerNetwork::msg_pong, this, _1, _2)); + this->reg_handler(generic_bind(&PeerNetwork::msg_ping, this, _1, _2)); + this->reg_handler(generic_bind(&PeerNetwork::msg_pong, this, _1, _2)); } template<typename O, O _, O __> diff --git a/include/salticidae/type.h b/include/salticidae/type.h index 13d3071..c454265 100644 --- a/include/salticidae/type.h +++ b/include/salticidae/type.h @@ -79,6 +79,11 @@ struct log2<1> { enum { value = 0 }; }; +template<typename ClassType, typename ReturnType, typename... Args, typename... FArgs> +inline auto generic_bind(ReturnType(ClassType::* f)(Args...), FArgs&&... fargs) { + return std::function<ReturnType(Args...)>(std::bind(f, std::forward<FArgs>(fargs)...)); +} + } #endif |