diff options
| author | Lang Hames <lhames@gmail.com> | 2017-01-08 00:18:51 +0000 |
|---|---|---|
| committer | Lang Hames <lhames@gmail.com> | 2017-01-08 00:18:51 +0000 |
| commit | 184d5d720bcabf6d66e0c8d2fca0a5aeb22173d5 (patch) | |
| tree | ea6763c709812f957b5b00f580d254ed8f5f2ddb /llvm | |
| parent | 8fa6d8db9c877d0b2e23973d41f82707653fb7a6 (diff) | |
| download | bcm5719-llvm-184d5d720bcabf6d66e0c8d2fca0a5aeb22173d5.tar.gz bcm5719-llvm-184d5d720bcabf6d66e0c8d2fca0a5aeb22173d5.zip | |
[Orc][RPC] Add a class-method version of addHandler to MultiThreadedRPCEndpoint.
This brings MultiThreadedRPCEndpoint's addHandler API in-line with
SingleThreadedRPCEndpoint's.
This will be tested in an up-coming unit-test for MultiThreadedRPCEndpoint.
llvm-svn: 291376
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h b/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h index 6e4205c9d4a..f90a69a0877 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h @@ -1062,6 +1062,15 @@ public: std::move(Launch)); } + /// Add a class-method as a handler. + template <typename Func, typename ClassT, typename RetT, typename... ArgTs> + void addHandler(ClassT &Object, RetT (ClassT::*Method)(ArgTs...), + LaunchPolicy Launch = LaunchPolicy()) { + addHandler<Func>( + detail::MemberFnWrapper<ClassT, RetT, ArgTs...>(Object, Method), + Launch); + } + /// Negotiate a function id for Func with the other end of the channel. template <typename Func> Error negotiateFunction() { using OrcRPCNegotiate = typename BaseClass::OrcRPCNegotiate; |

