LLVM  4.0.0
Public Types | Static Public Member Functions | List of all members
llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)> Class Template Reference

#include <RPCUtils.h>

Inheritance diagram for llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>:
[legend]

Public Types

using Type = RetT(ArgTs...)
 
using ReturnType = RetT
 
using ArgStorage = typename FunctionArgsTuple< RetT(ArgTs...)>::Type
 

Static Public Member Functions

template<typename HandlerT >
static WrappedHandlerReturn
< RetT >::Type 
unpackAndRun (HandlerT &Handler, ArgStorage &Args)
 
template<typename HandlerT >
static std::enable_if
< std::is_void< typename
HandlerTraits< HandlerT >
::ReturnType >::value, Error >
::type 
run (HandlerT &Handler, ArgTs &&...Args)
 
template<typename HandlerT >
static std::enable_if
< !std::is_void< typename
HandlerTraits< HandlerT >
::ReturnType >::value,
typename HandlerTraits
< HandlerT >::ReturnType >
::type 
run (HandlerT &Handler, ArgTs...Args)
 
template<typename ChannelT , typename... CArgTs>
static Error serializeArgs (ChannelT &C, const CArgTs...CArgs)
 
template<typename ChannelT , typename... CArgTs>
static Error deserializeArgs (ChannelT &C, std::tuple< CArgTs...> &Args)
 

Detailed Description

template<typename RetT, typename... ArgTs>
class llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>

Definition at line 353 of file RPCUtils.h.

Member Typedef Documentation

template<typename RetT , typename... ArgTs>
using llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::ArgStorage = typename FunctionArgsTuple<RetT(ArgTs...)>::Type

Definition at line 362 of file RPCUtils.h.

template<typename RetT , typename... ArgTs>
using llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::ReturnType = RetT

Definition at line 359 of file RPCUtils.h.

template<typename RetT , typename... ArgTs>
using llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::Type = RetT(ArgTs...)

Definition at line 356 of file RPCUtils.h.

Member Function Documentation

template<typename RetT , typename... ArgTs>
template<typename ChannelT , typename... CArgTs>
static Error llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::deserializeArgs ( ChannelT &  C,
std::tuple< CArgTs...> &  Args 
)
inlinestatic

Definition at line 398 of file RPCUtils.h.

template<typename RetT , typename... ArgTs>
template<typename HandlerT >
static std::enable_if< std::is_void<typename HandlerTraits<HandlerT>::ReturnType>::value, Error>::type llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::run ( HandlerT &  Handler,
ArgTs &&...  Args 
)
inlinestatic

Definition at line 377 of file RPCUtils.h.

References AMDGPU::RuntimeMD::KeyName::Args, and llvm::Error::success().

template<typename RetT , typename... ArgTs>
template<typename HandlerT >
static std::enable_if< !std::is_void<typename HandlerTraits<HandlerT>::ReturnType>::value, typename HandlerTraits<HandlerT>::ReturnType>::type llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::run ( HandlerT &  Handler,
ArgTs...  Args 
)
inlinestatic

Definition at line 386 of file RPCUtils.h.

References AMDGPU::RuntimeMD::KeyName::Args.

template<typename RetT , typename... ArgTs>
template<typename ChannelT , typename... CArgTs>
static Error llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::serializeArgs ( ChannelT &  C,
const CArgTs...  CArgs 
)
inlinestatic

Definition at line 392 of file RPCUtils.h.

template<typename RetT , typename... ArgTs>
template<typename HandlerT >
static WrappedHandlerReturn<RetT>::Type llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::unpackAndRun ( HandlerT &  Handler,
ArgStorage Args 
)
inlinestatic

Definition at line 367 of file RPCUtils.h.


The documentation for this class was generated from the following file: