14#ifndef LLVM_EXECUTIONENGINE_ORC_BINDCALLCONTROLLERHANDLERSPS_H
15#define LLVM_EXECUTIONENGINE_ORC_BINDCALLCONTROLLERHANDLERSPS_H
27template <
typename SPSSigT,
typename HandlerT>
33 [Handler = std::forward<HandlerT>(Handler)](
37 ArgBytes.
data(), ArgBytes.
size(), std::move(Return), Handler);
45template <
typename SPSSigT,
typename ClassT,
typename... MethodArgTs>
48 void (ClassT::*Method)(MethodArgTs...),
52 [
Instance, Method](MethodArgTs &&...MethodArgs) {
53 (
Instance->*Method)(std::forward<MethodArgTs>(MethodArgs)...);
Associates a call-controller handler with the name of the tag symbol that the executor will use to ca...
unique_function< void(shared::WrapperFunctionBuffer)> CallControllerReturnFn
Function type for returning results from a call-controller handler.
A symbol name together with the naming level (SymbolNameKind) it is expressed in, so that a Mangler /...
C++ wrapper function buffer: Same as CWrapperFunctionBuffer but auto-releases memory.
size_t size() const
Returns the size of the data contained in this instance.
char * data()
Get a pointer to the data contained in this instance.
ExecutionSession::CallControllerHandlerBinding bindCallControllerHandlerSPS(SymbolNameSpec Name, HandlerT &&Handler, SymbolLookupFlags LF=SymbolLookupFlags::RequiredSymbol)
Bind a call-controller handler that takes concrete argument types (and a sender for a concrete return...
SymbolLookupFlags
Lookup flags that apply to each symbol in a lookup.
static std::unique_ptr< UnwindInfoManager > Instance