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
- protected template <typename CalledAsT>static ReturnT CallImpl(void * CallableAddr, AdjustedParamT<ParamTs>... Params)
- protected template <typename CallableT>static void DestroyImpl(void * CallableAddr) noexcept
- protected template <typename CallableT>static void MoveImpl(void * LHSCallableAddr, void * RHSCallableAddr) noexcept
- protected template <typename CallableT, typename CalledAsT> UniqueFunctionBase<ReturnT, ParamTs...>(CallableT Callable, CalledAs<CalledAsT>)
- protected UniqueFunctionBase<ReturnT, ParamTs...>()
- protected UniqueFunctionBase<ReturnT, ParamTs...>(UniqueFunctionBase<ReturnT, ParamTs...> && RHS) noexcept
- protected llvm::detail::UniqueFunctionBase::CallPtrT getCallPtr() const
- protected void * getCalleePtr() const
- protected void * getInlineStorage() const
- protected llvm::detail::UniqueFunctionBase::NonTrivialCallbacks * getNonTrivialCallbacks() const
- protected void * getOutOfLineStorage() const
- protected size_t getOutOfLineStorageAlignment() const
- protected size_t getOutOfLineStorageSize() const
- protected llvm::detail::UniqueFunctionBase::CallPtrT getTrivialCallback() const
- protected bool isInlineStorage() const
- protected bool isTrivialCallback() const
- public bool operator bool() const
- protected void setOutOfLineStorage(void * Ptr, size_t Size, size_t Alignment)
- protected ~UniqueFunctionBase<ReturnT, ParamTs...>()
Methods
¶template <typename CalledAsT>
static ReturnT CallImpl(
void* CallableAddr,
AdjustedParamT<ParamTs>... Params)
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
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
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>)
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...>()
UniqueFunctionBase<ReturnT, ParamTs...>()
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:340
¶UniqueFunctionBase<ReturnT, ParamTs...>(
UniqueFunctionBase<ReturnT, ParamTs...>&&
RHS) noexcept
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
llvm::detail::UniqueFunctionBase::CallPtrT
getCallPtr() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:188
¶void* getCalleePtr() const
void* getCalleePtr() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:199
¶void* getInlineStorage() const
void* getInlineStorage() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:202
¶llvm::detail::UniqueFunctionBase::
NonTrivialCallbacks*
getNonTrivialCallbacks() const
llvm::detail::UniqueFunctionBase::
NonTrivialCallbacks*
getNonTrivialCallbacks() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:183
¶void* getOutOfLineStorage() const
void* getOutOfLineStorage() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:203
¶size_t getOutOfLineStorageAlignment() const
size_t getOutOfLineStorageAlignment() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:210
¶size_t getOutOfLineStorageSize() const
size_t getOutOfLineStorageSize() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:207
¶llvm::detail::UniqueFunctionBase::CallPtrT
getTrivialCallback() const
llvm::detail::UniqueFunctionBase::CallPtrT
getTrivialCallback() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:179
¶bool isInlineStorage() const
bool isInlineStorage() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:173
¶bool isTrivialCallback() const
bool isTrivialCallback() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:175
¶bool operator bool() const
bool operator bool() const
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:343
¶void setOutOfLineStorage(void* Ptr,
size_t Size,
size_t Alignment)
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...>()
~UniqueFunctionBase<ReturnT, ParamTs...>()
Declared at: llvm/include/llvm/ADT/FunctionExtras.h:283