LLVM 19.0.0git
Public Member Functions | Static Public Member Functions | List of all members
llvm::orc::shared::WrapperFunctionResult Class Reference

C++ wrapper function result: Same as CWrapperFunctionResult but auto-releases memory. More...

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

Public Member Functions

 WrapperFunctionResult ()
 Create a default WrapperFunctionResult.
 
 WrapperFunctionResult (CWrapperFunctionResult R)
 Create a WrapperFunctionResult by taking ownership of a CWrapperFunctionResult.
 
 WrapperFunctionResult (const WrapperFunctionResult &)=delete
 
WrapperFunctionResultoperator= (const WrapperFunctionResult &)=delete
 
 WrapperFunctionResult (WrapperFunctionResult &&Other)
 
WrapperFunctionResultoperator= (WrapperFunctionResult &&Other)
 
 ~WrapperFunctionResult ()
 
CWrapperFunctionResult release ()
 Release ownership of the contained CWrapperFunctionResult.
 
chardata ()
 Get a pointer to the data contained in this instance.
 
const chardata () const
 Get a const pointer to the data contained in this instance.
 
size_t size () const
 Returns the size of the data contained in this instance.
 
bool empty () const
 Returns true if this value is equivalent to a default-constructed WrapperFunctionResult.
 
const chargetOutOfBandError () const
 If this value is an out-of-band error then this returns the error message, otherwise returns nullptr.
 

Static Public Member Functions

static WrapperFunctionResult allocate (size_t Size)
 Create a WrapperFunctionResult with the given size and return a pointer to the underlying memory.
 
static WrapperFunctionResult copyFrom (const char *Source, size_t Size)
 Copy from the given char range.
 
static WrapperFunctionResult copyFrom (const char *Source)
 Copy from the given null-terminated string (includes the null-terminator).
 
static WrapperFunctionResult copyFrom (const std::string &Source)
 Copy from the given std::string (includes the null terminator).
 
static WrapperFunctionResult createOutOfBandError (const char *Msg)
 Create an out-of-band error by copying the given string.
 
static WrapperFunctionResult createOutOfBandError (const std::string &Msg)
 Create an out-of-band error by copying the given string.
 

Detailed Description

C++ wrapper function result: Same as CWrapperFunctionResult but auto-releases memory.

Definition at line 40 of file WrapperFunctionUtils.h.

Constructor & Destructor Documentation

◆ WrapperFunctionResult() [1/4]

llvm::orc::shared::WrapperFunctionResult::WrapperFunctionResult ( )
inline

Create a default WrapperFunctionResult.

Definition at line 43 of file WrapperFunctionUtils.h.

◆ WrapperFunctionResult() [2/4]

llvm::orc::shared::WrapperFunctionResult::WrapperFunctionResult ( CWrapperFunctionResult  R)
inline

Create a WrapperFunctionResult by taking ownership of a CWrapperFunctionResult.

Warning: This should only be used by clients writing wrapper-function caller utilities (like TargetProcessControl).

Definition at line 50 of file WrapperFunctionUtils.h.

◆ WrapperFunctionResult() [3/4]

llvm::orc::shared::WrapperFunctionResult::WrapperFunctionResult ( const WrapperFunctionResult )
delete

◆ WrapperFunctionResult() [4/4]

llvm::orc::shared::WrapperFunctionResult::WrapperFunctionResult ( WrapperFunctionResult &&  Other)
inline

Definition at line 58 of file WrapperFunctionUtils.h.

References llvm::Other, and std::swap().

◆ ~WrapperFunctionResult()

llvm::orc::shared::WrapperFunctionResult::~WrapperFunctionResult ( )
inline

Member Function Documentation

◆ allocate()

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::allocate ( size_t  Size)
inlinestatic

◆ copyFrom() [1/3]

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::copyFrom ( const char Source)
inlinestatic

Copy from the given null-terminated string (includes the null-terminator).

Definition at line 130 of file WrapperFunctionUtils.h.

References copyFrom().

◆ copyFrom() [2/3]

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::copyFrom ( const char Source,
size_t  Size 
)
inlinestatic

Copy from the given char range.

Definition at line 123 of file WrapperFunctionUtils.h.

References allocate(), and Size.

Referenced by copyFrom().

◆ copyFrom() [3/3]

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::copyFrom ( const std::string &  Source)
inlinestatic

Copy from the given std::string (includes the null terminator).

Definition at line 135 of file WrapperFunctionUtils.h.

References copyFrom().

◆ createOutOfBandError() [1/2]

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::createOutOfBandError ( const char Msg)
inlinestatic

◆ createOutOfBandError() [2/2]

static WrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::createOutOfBandError ( const std::string &  Msg)
inlinestatic

Create an out-of-band error by copying the given string.

Definition at line 150 of file WrapperFunctionUtils.h.

References createOutOfBandError().

◆ data() [1/2]

char * llvm::orc::shared::WrapperFunctionResult::data ( )
inline

◆ data() [2/2]

const char * llvm::orc::shared::WrapperFunctionResult::data ( ) const
inline

◆ empty()

bool llvm::orc::shared::WrapperFunctionResult::empty ( ) const
inline

◆ getOutOfBandError()

const char * llvm::orc::shared::WrapperFunctionResult::getOutOfBandError ( ) const
inline

If this value is an out-of-band error then this returns the error message, otherwise returns nullptr.

Definition at line 156 of file WrapperFunctionUtils.h.

References llvm::orc::shared::CWrapperFunctionResult::Data, llvm::orc::shared::CWrapperFunctionResult::Size, and llvm::orc::shared::CWrapperFunctionResultDataUnion::ValuePtr.

Referenced by llvm::orc::shared::WrapperFunction< SPSRetTagT(SPSTagTs...)>::call().

◆ operator=() [1/2]

WrapperFunctionResult & llvm::orc::shared::WrapperFunctionResult::operator= ( const WrapperFunctionResult )
delete

◆ operator=() [2/2]

WrapperFunctionResult & llvm::orc::shared::WrapperFunctionResult::operator= ( WrapperFunctionResult &&  Other)
inline

Definition at line 63 of file WrapperFunctionUtils.h.

References llvm::Other, and std::swap().

◆ release()

CWrapperFunctionResult llvm::orc::shared::WrapperFunctionResult::release ( )
inline

Release ownership of the contained CWrapperFunctionResult.

Warning: Do not use – this method will be removed in the future. It only exists to temporarily support some code that will eventually be moved to the ORC runtime.

Definition at line 79 of file WrapperFunctionUtils.h.

References std::swap().

◆ size()

size_t llvm::orc::shared::WrapperFunctionResult::size ( ) const
inline

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