LLVM  14.0.0git
Classes | Namespaces | Functions
WrapperFunctionUtils.h File Reference
#include "llvm/ExecutionEngine/Orc/Shared/ExecutorAddress.h"
#include "llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h"
#include "llvm/Support/Error.h"
#include <type_traits>
Include dependency graph for WrapperFunctionUtils.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

union  llvm::orc::shared::detail::CWrapperFunctionResultDataUnion
 
struct  llvm::orc::shared::detail::CWrapperFunctionResult
 
class  llvm::orc::shared::WrapperFunctionResult
 C++ wrapper function result: Same as CWrapperFunctionResult but auto-releases memory. More...
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerCaller< RetT >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerCaller< void >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerHelper< WrapperFunctionImplT, ResultSerializer, SPSTagTs >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(*)(ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(ClassT::*)(ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionHandlerHelper< RetT(ClassT::*)(ArgTs...) const, ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< WrapperFunctionImplT, ResultSerializer, SPSTagTs >
 
class  llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(SendResultT, ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(*)(ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(ClassT::*)(ArgTs...), ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::WrapperFunctionAsyncHandlerHelper< RetT(ClassT::*)(ArgTs...) const, ResultSerializer, SPSTagTs... >
 
class  llvm::orc::shared::detail::ResultSerializer< SPSRetTagT, RetT >
 
class  llvm::orc::shared::detail::ResultSerializer< SPSRetTagT, Error >
 
class  llvm::orc::shared::detail::ResultSerializer< SPSRetTagT, Expected< T > >
 
class  llvm::orc::shared::detail::ResultDeserializer< SPSRetTagT, RetT >
 
class  llvm::orc::shared::detail::ResultDeserializer< SPSError, Error >
 
class  llvm::orc::shared::detail::ResultDeserializer< SPSExpected< SPSTagT >, Expected< T > >
 
class  llvm::orc::shared::detail::AsyncCallResultHelper< SPSRetTagT, RetT >
 
class  llvm::orc::shared::WrapperFunction< SPSSignature >
 
class  llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>
 
class  llvm::orc::shared::WrapperFunction< void(SPSTagTs...)>
 
class  llvm::orc::shared::MethodWrapperHandler< RetT, ClassT, ArgTs >
 A function object that takes an ExecutorAddr as its first argument, casts that address to a ClassT*, then calls the given method on that pointer passing in the remaining function arguments. More...
 

Namespaces

 llvm
 ---------------------— PointerInfo ------------------------------------—
 
 llvm::orc
 
 llvm::orc::shared
 
 llvm::orc::shared::detail
 

Functions

template<typename SPSArgListT , typename... ArgTs>
WrapperFunctionResult llvm::orc::shared::detail::serializeViaSPSToWrapperFunctionResult (const ArgTs &...Args)
 
template<typename RetT , typename ClassT , typename... ArgTs>
MethodWrapperHandler< RetT, ClassT, ArgTs... > llvm::orc::shared::makeMethodWrapperHandler (RetT(ClassT::*Method)(ArgTs...))
 Create a MethodWrapperHandler object from the given method pointer. More...