class UniqueFunctionBase

Declaration

template <typename ReturnT, typename... ParamTs>
class UniqueFunctionBase { /* full declaration omitted */ };

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:79

Templates

ReturnT
ParamTs

Member Variables

protected union StorageUnionT StorageUnion
protected PointerIntPair<llvm::detail::UniqueFunctionBase:: CallbackPointerUnionT, 1, bool> CallbackAndInlineFlag
protected static const size_t InlineStorageSize = sizeof(void *) * 3

Method Overview

Methods

template <typename CalledAsT>
static ReturnT CallImpl(
    void* CallableAddr,
    AdjustedParamT<ParamTs>... Params)

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:219

Templates

CalledAsT

Parameters

void* CallableAddr
AdjustedParamT<ParamTs>... Params

template <typename CallableT>
static void DestroyImpl(
    void* CallableAddr) noexcept

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:232

Templates

CallableT

Parameters

void* CallableAddr

template <typename CallableT>
static void MoveImpl(
    void* LHSCallableAddr,
    void* RHSCallableAddr) noexcept

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:226

Templates

CallableT

Parameters

void* LHSCallableAddr
void* RHSCallableAddr

template <typename CallableT, typename CalledAsT>
UniqueFunctionBase<ReturnT, ParamTs...>(
    CallableT Callable,
    CalledAs<CalledAsT>)

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:263

Templates

CallableT
CalledAsT

Parameters

CallableT Callable
CalledAs<CalledAsT>

UniqueFunctionBase<ReturnT, ParamTs...>()

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:340

UniqueFunctionBase<ReturnT, ParamTs...>(
    UniqueFunctionBase<ReturnT, ParamTs...>&&
        RHS) noexcept

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:299

Parameters

UniqueFunctionBase<ReturnT, ParamTs...>&& RHS

llvm::detail::UniqueFunctionBase::CallPtrT
getCallPtr() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:188

void* getCalleePtr() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:199

void* getInlineStorage() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:202

llvm::detail::UniqueFunctionBase::
    NonTrivialCallbacks*
    getNonTrivialCallbacks() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:183

void* getOutOfLineStorage() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:203

size_t getOutOfLineStorageAlignment() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:210

size_t getOutOfLineStorageSize() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:207

llvm::detail::UniqueFunctionBase::CallPtrT
getTrivialCallback() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:179

bool isInlineStorage() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:173

bool isTrivialCallback() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:175

bool operator bool() const

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:343

void setOutOfLineStorage(void* Ptr,
                         size_t Size,
                         size_t Alignment)

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:214

Parameters

void* Ptr
size_t Size
size_t Alignment

~UniqueFunctionBase<ReturnT, ParamTs...>()

Declared at: llvm/include/llvm/ADT/FunctionExtras.h:283