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

#include "llvm/ExecutionEngine/Orc/RPCUtils.h"

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

Public Types

using Type = RetT(ArgTs...)
 
using ReturnType = RetT
 

Static Public Member Functions

template<typename HandlerT , typename... TArgTs>
static WrappedHandlerReturn< RetT >::Type unpackAndRun (HandlerT &Handler, std::tuple< TArgTs... > &Args)
 
template<typename HandlerT , typename ResponderT , typename... TArgTs>
static Error unpackAndRunAsync (HandlerT &Handler, ResponderT &Responder, std::tuple< TArgTs... > &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 , typename... TArgTs>
static std::enable_if< !std::is_void< typename HandlerTraits< HandlerT >::ReturnType >::value, typename HandlerTraits< HandlerT >::ReturnType >::type run (HandlerT &Handler, TArgTs... 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 567 of file RPCUtils.h.

Member Typedef Documentation

◆ ReturnType

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

Definition at line 573 of file RPCUtils.h.

◆ Type

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

Definition at line 570 of file RPCUtils.h.

Member Function Documentation

◆ deserializeArgs()

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 617 of file RPCUtils.h.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args, and C.

◆ run() [1/2]

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 596 of file RPCUtils.h.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args, and llvm::Error::success().

◆ run() [2/2]

template<typename RetT , typename... ArgTs>
template<typename HandlerT , typename... TArgTs>
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,
TArgTs...  Args 
)
inlinestatic

Definition at line 605 of file RPCUtils.h.

References llvm::AMDGPU::HSAMD::Kernel::Key::Args.

◆ serializeArgs()

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 611 of file RPCUtils.h.

◆ unpackAndRun()

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

Definition at line 578 of file RPCUtils.h.

◆ unpackAndRunAsync()

template<typename RetT , typename... ArgTs>
template<typename HandlerT , typename ResponderT , typename... TArgTs>
static Error llvm::orc::rpc::detail::HandlerTraits< RetT(ArgTs...)>::unpackAndRunAsync ( HandlerT &  Handler,
ResponderT &  Responder,
std::tuple< TArgTs... > &  Args 
)
inlinestatic

Definition at line 585 of file RPCUtils.h.


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