diff options
Diffstat (limited to 'include/llvm/ExecutionEngine/Orc/RPCUtils.h')
-rw-r--r-- | include/llvm/ExecutionEngine/Orc/RPCUtils.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/include/llvm/ExecutionEngine/Orc/RPCUtils.h b/include/llvm/ExecutionEngine/Orc/RPCUtils.h index 6212f64ff3195..c278cb176853b 100644 --- a/include/llvm/ExecutionEngine/Orc/RPCUtils.h +++ b/include/llvm/ExecutionEngine/Orc/RPCUtils.h @@ -534,6 +534,20 @@ public: using ResultType = Error; }; +template <typename... ArgTs> +class AsyncHandlerTraits<ErrorSuccess(std::function<Error(Error)>, ArgTs...)> { +public: + using Type = Error(ArgTs...); + using ResultType = Error; +}; + +template <typename... ArgTs> +class AsyncHandlerTraits<void(std::function<Error(Error)>, ArgTs...)> { +public: + using Type = Error(ArgTs...); + using ResultType = Error; +}; + template <typename ResponseHandlerT, typename... ArgTs> class AsyncHandlerTraits<Error(ResponseHandlerT, ArgTs...)> : public AsyncHandlerTraits<Error(typename std::decay<ResponseHandlerT>::type, |