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

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 *const from, TypeErasedState *const to)

    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 (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to)

    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 (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to)

    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 (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to)

    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