|
LLVM 23.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 74 of file FunctionExtras.h.
|
protected |
Definition at line 107 of file FunctionExtras.h.
|
protected |
Definition at line 133 of file FunctionExtras.h.
|
protected |
Definition at line 111 of file FunctionExtras.h.
|
protected |
Definition at line 114 of file FunctionExtras.h.
|
protected |
Definition at line 113 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 252 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 272 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::operator=().
|
inlineprotectednoexcept |
Definition at line 288 of file FunctionExtras.h.
|
protecteddefault |
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::operator=().
|
inlinestaticprotected |
Definition at line 208 of file FunctionExtras.h.
|
inlinestaticprotectednoexcept |
Definition at line 221 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 188 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 177 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 191 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 173 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 192 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCalleePtr(), and llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 199 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 196 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::~UniqueFunctionBase().
|
inlineprotected |
Definition at line 169 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::getCallPtr().
|
inlineprotected |
Definition at line 163 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 165 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 215 of file FunctionExtras.h.
|
inlineexplicit |
Definition at line 333 of file FunctionExtras.h.
|
inlineprotectednoexcept |
Definition at line 318 of file FunctionExtras.h.
|
inlineprotected |
Definition at line 203 of file FunctionExtras.h.
Referenced by llvm::detail::UniqueFunctionBase< R, P... >::UniqueFunctionBase().
|
protected |
Definition at line 161 of file FunctionExtras.h.
|
staticconstexprprotected |
Definition at line 77 of file FunctionExtras.h.
|
staticconstexprprotected |
Definition at line 76 of file FunctionExtras.h.
|
protected |