Enumerations
enum StorageProperty : std::size_t
| Name | Value | Comments |
|---|---|---|
| kAlignment | alignof(std::max_align_t) |
The alignment of the storage |
| kStorageSize | sizeof(void*) * 2 |
The size of the storage |
Constants relating to the small-object-storage for AnyInvocable
Defined at line 84 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
enum class FunctionToCall : unsigned char
| Name | Value |
|---|---|
| dispose | 0 |
| relocate_from_to | 1 |
| relocate_from_to_and_query_rust | 2 |
A discriminator when calling the "manager" function that describes operation
type-erased operation should be invoked.
"dispose" specifies that the manager should perform a destroy.
"relocate_from_to" specifies that the manager should perform a move.
"relocate_from_to_and_query_rust" is identical to "relocate_from_to" for C++
managers, but instructs Rust managers to perform a special operation that
can be detected by the caller.
Defined at line 169 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
Records
-
class ConversionConstruct -
class CoreImpl -
class ForwardedParameter -
class Impl -
class Impl<> -
class IsAnyInvocable -
class IsAnyInvocable<AnyInvocable<Sig>> -
class IsInPlaceType -
class IsInPlaceType<absl::in_place_type_t<T>> -
class TrivialDeleter -
class TypeErasedState -
class TypedConversionConstruct -
class UnwrapStdReferenceWrapperImpl -
class UnwrapStdReferenceWrapperImpl<std::reference_wrapper<T>>
Functions
-
void EmptyManager (FunctionToCall,TypeErasedState *,TypeErasedState *)The manager that is used when AnyInvocable is empty
Defined at line 211 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <typename T>T ForwardImpl (std::true_type )/////////////////////////////////////////////////////////////////////////////
A metafunction that takes a "T" corresponding to a parameter type of the
user's specified function type, and yields the parameter type to use for the
type-erased invoker. In order to prevent observable moves, this must be
either a reference or, if the type is trivial, the original parameter type
itself. Since the parameter type may be incomplete at the point that this
metafunction is used, we can only do this optimization for scalar types
rather than for any trivial type.
-
template <typename T>T && ForwardImpl (std::false_type ) -
template <class T>bool IsStoredLocally ()A metafunction that tells us whether or not a target function type should be
stored locally in the small object optimization storage
Defined at line 104 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <class ReturnType,class F,class... P>ReturnType InvokeR (F && f, P &&... args)An implementation of std::invoke_r of C++23.
Defined at line 119 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <class T>T & ObjectInLocalStorage (TypeErasedState *const state)A typed accessor for the object in `TypeErasedState` storage
Defined at line 191 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
void LocalManagerTrivial (FunctionToCall,TypeErasedState *constfrom,TypeErasedState *constto)The manager that is used when a target function is in local storage and is
a trivially copyable type.
Defined at line 217 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <class T>void LocalManagerNontrivial (FunctionToCalloperation,TypeErasedState *constfrom,TypeErasedState *constto)The manager that is used when a target function is in local storage and is
not a trivially copyable type.
Defined at line 242 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <bool SigIsNoexcept,class ReturnType,class QualTRef,class... P>ReturnType LocalInvoker (TypeErasedState *const state, ForwardedParameterType<P>... args)The invoker that is used when a target function is in local storage
Note: QualTRef here is the target function type along with cv and reference
qualifiers that must be used when calling the function.
Defined at line 269 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
void RemoteManagerTrivial (FunctionToCalloperation,TypeErasedState *constfrom,TypeErasedState *constto)The manager that is used when a target function is in remote storage and it
has a trivial destructor
Defined at line 284 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <class T>void RemoteManagerNontrivial (FunctionToCalloperation,TypeErasedState *constfrom,TypeErasedState *constto)The manager that is used when a target function is in remote storage and the
destructor of the type is not trivial
Defined at line 307 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <bool SigIsNoexcept,class ReturnType,class QualTRef,class... P>ReturnType RemoteInvoker (TypeErasedState *const state, ForwardedParameterType<P>... args)The invoker that is used when a target function is in remote storage
Defined at line 329 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
bool IsCompatibleConversion (void * , void * )Defined at line 397 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h
-
template <bool NoExceptSrcbool NoExceptDestclass... T>bool IsCompatibleConversion (CoreImpl<NoExceptSrc, T...> * , CoreImpl<NoExceptDest, T...> * )Defined at line 399 of file ../../third_party/abseil-cpp/src/absl/functional/internal/any_invocable.h