LLVM 22.0.0git
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

◆ 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, std::swap(), and WrapperFunctionResult().

◆ ~WrapperFunctionResult()

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

Definition at line 69 of file WrapperFunctionUtils.h.

Member Function Documentation

◆ allocate()

◆ copyFrom() [1/3]

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(), and WrapperFunctionResult().

◆ copyFrom() [2/3]

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(), Size, and WrapperFunctionResult().

Referenced by copyFrom(), and copyFrom().

◆ copyFrom() [3/3]

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(), and WrapperFunctionResult().

◆ createOutOfBandError() [1/2]

◆ createOutOfBandError() [2/2]

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(), and WrapperFunctionResult().

◆ data() [1/2]

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

Get a pointer to the data contained in this instance.

Definition at line 87 of file WrapperFunctionUtils.h.

References assert().

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

◆ data() [2/2]

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

Get a const pointer to the data contained in this instance.

Definition at line 94 of file WrapperFunctionUtils.h.

References assert().

◆ empty()

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

Returns true if this value is equivalent to a default-constructed WrapperFunctionResult.

Definition at line 109 of file WrapperFunctionUtils.h.

◆ 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.

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, std::swap(), and WrapperFunctionResult().

◆ 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

Returns the size of the data contained in this instance.

Definition at line 101 of file WrapperFunctionUtils.h.

References assert().

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


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