LLVM: llvm::orc::ThreadSafeModule Class Reference (original) (raw)

An LLVM Module together with a shared ThreadSafeContext. More...

#include "[llvm/ExecutionEngine/Orc/ThreadSafeModule.h](ThreadSafeModule%5F8h%5Fsource.html)"

Public Member Functions
ThreadSafeModule ()=default
Default construct a ThreadSafeModule.
ThreadSafeModule (ThreadSafeModule &&Other)=default
ThreadSafeModule & operator= (ThreadSafeModule &&Other)
ThreadSafeModule (std::unique_ptr< Module > M, std::unique_ptr< LLVMContext > Ctx)
Construct a ThreadSafeModule from a unique_ptr and a unique_ptr.
ThreadSafeModule (std::unique_ptr< Module > M, ThreadSafeContext TSCtx)
Construct a ThreadSafeModule from a unique_ptr and an existing ThreadSafeContext.
~ThreadSafeModule ()
operator bool () const
Boolean conversion: This ThreadSafeModule will evaluate to true if it wraps a non-null module.
template
decltype(auto) withModuleDo (Func &&F)
Locks the associated ThreadSafeContext and calls the given function on the contained Module.
template
decltype(auto) withModuleDo (Func &&F) const
Locks the associated ThreadSafeContext and calls the given function on the contained Module.
template
decltype(auto) consumingModuleDo (Func &&F)
Locks the associated ThreadSafeContext and calls the given function, passing the contained std::unique_ptr.
Module * getModuleUnlocked ()
Get a raw pointer to the contained module without locking the context.
const Module * getModuleUnlocked () const
Get a raw pointer to the contained module without locking the context.
ThreadSafeContext getContext () const
Returns the context for this ThreadSafeModule.

An LLVM Module together with a shared ThreadSafeContext.

Definition at line 70 of file ThreadSafeModule.h.

llvm::orc::ThreadSafeModule::ThreadSafeModule ( ) default

ThreadSafeModule() [2/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( ThreadSafeModule && Other) default

ThreadSafeModule() [3/4]

llvm::orc::ThreadSafeModule::ThreadSafeModule ( std::unique_ptr< Module > M, std::unique_ptr< LLVMContext > Ctx ) inline

ThreadSafeModule() [4/4]

~ThreadSafeModule()

llvm::orc::ThreadSafeModule::~ThreadSafeModule ( ) inline

consumingModuleDo()

template

decltype(auto) llvm::orc::ThreadSafeModule::consumingModuleDo ( Func && F) inline

getContext()

getModuleUnlocked() [1/2]

Module * llvm::orc::ThreadSafeModule::getModuleUnlocked ( ) inline

getModuleUnlocked() [2/2]

const Module * llvm::orc::ThreadSafeModule::getModuleUnlocked ( ) const inline

Get a raw pointer to the contained module without locking the context.

Definition at line 143 of file ThreadSafeModule.h.

operator bool()

llvm::orc::ThreadSafeModule::operator bool ( ) const inlineexplicit

operator=()

withModuleDo() [1/2]

template

decltype(auto) llvm::orc::ThreadSafeModule::withModuleDo ( Func && F) inline

withModuleDo() [2/2]

template

decltype(auto) llvm::orc::ThreadSafeModule::withModuleDo ( Func && F) const inline

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