|
LLVM 22.0.0git
|
#include "llvm/ADT/FunctionExtras.h"
Classes | |
| struct | AdjustedParamTBase |
| struct | AdjustedParamTBase< T & > |
| struct | AdjustedParamTBase< T && > |
| struct | CallbacksHolder |
| struct | CalledAs |
| struct | NonTrivialCallbacks |
| A struct we use to aggregate three callbacks when we need full set of operations. More... | |
| union | StorageUnionT |
| struct | TrivialCallback |
| A struct to hold a single trivial callback with sufficient alignment for our bitpacking. More... | |
Public Member Functions | |
| operator bool () const | |
Protected Types | |
| template<typename T> | |
| using | AdjustedParamT = typename AdjustedParamTBase<T>::type |
| using | CallPtrT |
| using | MovePtrT = void (*)(void *LHSCallableAddr, void *RHSCallableAddr) |
| using | DestroyPtrT = void (*)(void *CallableAddr) |
| using | CallbackPointerUnionT |
Protected Member Functions | |
| bool | isInlineStorage () const |
| bool | isTrivialCallback () const |
| CallPtrT | getTrivialCallback () const |
| NonTrivialCallbacks * | getNonTrivialCallbacks () const |
| CallPtrT | getCallPtr () const |
| void * | getCalleePtr () const |
| void * | getInlineStorage () const |
| void * | getOutOfLineStorage () const |
| size_t | getOutOfLineStorageSize () const |
| size_t | getOutOfLineStorageAlignment () const |
| void | setOutOfLineStorage (void *Ptr, size_t Size, size_t Alignment) |
| template<typename CallableT, typename CalledAsT> | |
| UniqueFunctionBase (CallableT Callable, CalledAs< CalledAsT >) | |
| ~UniqueFunctionBase () | |
| UniqueFunctionBase (UniqueFunctionBase &&RHS) noexcept | |
| UniqueFunctionBase & | operator= (UniqueFunctionBase &&RHS) noexcept |
| UniqueFunctionBase ()=default | |
Static Protected Member Functions | |
| template<typename CalledAsT> | |
| static ReturnT | CallImpl (void *CallableAddr, AdjustedParamT< ParamTs >... Params) |
| template<typename CallableT> | |
| static void | MoveImpl (void *LHSCallableAddr, void *RHSCallableAddr) noexcept |
| template<typename CallableT> | |
| static void | DestroyImpl (void *CallableAddr) noexcept |
Protected Attributes | |
| union llvm::detail::UniqueFunctionBase::StorageUnionT | StorageUnion |
| PointerIntPair< CallbackPointerUnionT, 1, bool > | CallbackAndInlineFlag |
Static Protected Attributes | |
| static constexpr size_t | InlineStorageSize = sizeof(void *) * 3 |
| static constexpr size_t | InlineStorageAlign = alignof(void *) |
Definition at line 75 of file FunctionExtras.h.
|
protected |
Definition at line 108 of file FunctionExtras.h.
|
protected |
Definition at line 134 of file FunctionExtras.h.
|
protected |
Definition at line 112 of file FunctionExtras.h.
|
protected |
Definition at line 115 of file FunctionExtras.h.
|
protected |
Definition at line 114 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 253 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 273 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::operator=().
|
inlineprotectednoexcept |
Definition at line 289 of file FunctionExtras.h.
|
protecteddefault |
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::operator=().
|
inlinestaticprotected |
Definition at line 209 of file FunctionExtras.h.
|
inlinestaticprotectednoexcept |
Definition at line 222 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 189 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 178 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 192 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCalleePtr(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 174 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCallPtr(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 193 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCalleePtr(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 200 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 197 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 170 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCallPtr().
|
inlineprotected |
Definition at line 164 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCalleePtr(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 166 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCallPtr(), llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlinestaticprotectednoexcept |
Definition at line 216 of file FunctionExtras.h.
|
inlineexplicit |
Definition at line 336 of file FunctionExtras.h.
|
inlineprotectednoexcept |
Definition at line 321 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 204 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase().
|
protected |
Definition at line 162 of file FunctionExtras.h.
|
staticconstexprprotected |
Definition at line 78 of file FunctionExtras.h.
|
staticconstexprprotected |
Definition at line 77 of file FunctionExtras.h.
|
protected |