LLVM 20.0.0git
Static Public Member Functions | List of all members
llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)> Class Template Reference

#include "llvm/ExecutionEngine/Orc/Shared/WrapperFunctionUtils.h"

Static Public Member Functions

template<typename CallerFn , typename RetT , typename... ArgTs>
static Error call (const CallerFn &Caller, RetT &Result, const ArgTs &...Args)
 Call a wrapper function.
 
template<typename AsyncCallerFn , typename SendDeserializedResultFn , typename... ArgTs>
static void callAsync (AsyncCallerFn &&Caller, SendDeserializedResultFn &&SendDeserializedResult, const ArgTs &...Args)
 Call an async wrapper function.
 
template<typename HandlerT >
static WrapperFunctionResult handle (const char *ArgData, size_t ArgSize, HandlerT &&Handler)
 Handle a call to a wrapper function.
 
template<typename HandlerT , typename SendResultT >
static void handleAsync (const char *ArgData, size_t ArgSize, HandlerT &&Handler, SendResultT &&SendResult)
 Handle a call to an async wrapper function.
 

Detailed Description

template<typename SPSRetTagT, typename... SPSTagTs>
class llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>

Definition at line 437 of file WrapperFunctionUtils.h.

Member Function Documentation

◆ call()

template<typename SPSRetTagT , typename... SPSTagTs>
template<typename CallerFn , typename RetT , typename... ArgTs>
static Error llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::call ( const CallerFn &  Caller,
RetT &  Result,
const ArgTs &...  Args 
)
inlinestatic

◆ callAsync()

template<typename SPSRetTagT , typename... SPSTagTs>
template<typename AsyncCallerFn , typename SendDeserializedResultFn , typename... ArgTs>
static void llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::callAsync ( AsyncCallerFn &&  Caller,
SendDeserializedResultFn &&  SendDeserializedResult,
const ArgTs &...  Args 
)
inlinestatic

Call an async wrapper function.

Caller should be callable as void Fn(unique_function<void(WrapperFunctionResult)> SendResult, WrapperFunctionResult ArgBuffer);

Definition at line 475 of file WrapperFunctionUtils.h.

References llvm::inconvertibleErrorCode(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::makeSafe(), llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >::makeValue(), llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionResult(), and llvm::Error::success().

◆ handle()

template<typename SPSRetTagT , typename... SPSTagTs>
template<typename HandlerT >
static WrapperFunctionResult llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::handle ( const char ArgData,
size_t  ArgSize,
HandlerT &&  Handler 
)
inlinestatic

Handle a call to a wrapper function.

Definition at line 519 of file WrapperFunctionUtils.h.

◆ handleAsync()

template<typename SPSRetTagT , typename... SPSTagTs>
template<typename HandlerT , typename SendResultT >
static void llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::handleAsync ( const char ArgData,
size_t  ArgSize,
HandlerT &&  Handler,
SendResultT &&  SendResult 
)
inlinestatic

Handle a call to an async wrapper function.

Definition at line 529 of file WrapperFunctionUtils.h.


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