template <bool SigIsNoexcept, class ReturnType, class... P>

class CoreImpl

Defined at line 437 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

A helper base class for all core operations of AnyInvocable that do not

depend on the cv/ref qualifiers of the function type.

Public Members

TypeErasedState state_
ManagerType * manager_
InvokerType<SigIsNoexcept, ReturnType, P...> * invoker_

Public Methods

void CoreImpl<SigIsNoexcept, ReturnType, P...> ()

Defined at line 441 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class QualDecayedTRef, class F>
void CoreImpl<SigIsNoexcept, ReturnType, P...> (TypedConversionConstruct<QualDecayedTRef> , F && f)

Note: QualDecayedTRef here includes the cv-ref qualifiers associated with

the invocation of the Invocable. The unqualified type is the target object

type to be stored.

Defined at line 454 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class QualTRef, class... Args>
void CoreImpl<SigIsNoexcept, ReturnType, P...> (absl::in_place_type_t<QualTRef> , Args &&... args)

Note: QualTRef here includes the cv-ref qualifiers associated with the

invocation of the Invocable. The unqualified type is the target object

type to be stored.

Defined at line 476 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

void CoreImpl<SigIsNoexcept, ReturnType, P...> (CoreImpl<SigIsNoexcept, ReturnType, P...> && other)

Defined at line 480 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

CoreImpl<SigIsNoexcept, ReturnType, P...> & operator= (CoreImpl<SigIsNoexcept, ReturnType, P...> && other)

Defined at line 488 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

void ~CoreImpl<SigIsNoexcept, ReturnType, P...> ()

Defined at line 508 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

bool HasValue ()

Check whether or not the AnyInvocable is in the empty state.

Defined at line 511 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

void Clear ()

Effects: Puts the object into its empty state.

Defined at line 514 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <TargetType target_type, class QualDecayedTRef, class F, absl::enable_if_t<target_type == TargetType::kPointer, int> = 0>
void Initialize (F && f)

Defined at line 522 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <TargetType target_type, class QualDecayedTRef, class F, absl::enable_if_t<
                                    target_type == TargetType::kCompatibleAnyInvocable, int> = 0>
void Initialize (F && f)

Defined at line 548 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <TargetType target_type, class QualDecayedTRef, class F, absl::enable_if_t<
                                    target_type == TargetType::kIncompatibleAnyInvocable, int> = 0>
void Initialize (F && f)

Defined at line 561 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <TargetType target_type, class QualDecayedTRef, class F, typename = absl::enable_if_t<target_type == TargetType::kOther>>
void Initialize (F && f)

Defined at line 572 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class QualTRef, class... Args, typename = absl::enable_if_t<
                                    IsStoredLocally<RemoveCVRef<QualTRef>>::value>>
void InitializeStorage (Args &&... args)

Use local (inline) storage for applicable target object types.

Defined at line 580 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class QualTRef, class... Args, absl::enable_if_t<!IsStoredLocally<RemoveCVRef<QualTRef>>::value,
                                                  int> = 0>
void InitializeStorage (Args &&... args)

Use remote storage for target objects that cannot be stored locally.

Defined at line 594 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class QualTRef, class... Args, absl::enable_if_t<!IsStoredLocally<RemoveCVRef<QualTRef>>::value,
                                                  int> = 0>
void InitializeStorage (Args &&... args)

Use remote storage for target objects that cannot be stored locally.

Defined at line 594 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, typename = absl::enable_if_t<std::is_trivially_copyable<T>::value>>
void InitializeLocalManager ()

Defined at line 603 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, absl::enable_if_t<!std::is_trivially_copyable<T>::value, int> = 0>
void InitializeLocalManager ()

Defined at line 609 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, absl::enable_if_t<!std::is_trivially_copyable<T>::value, int> = 0>
void InitializeLocalManager ()

Defined at line 609 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, class... Args, typename = absl::enable_if_t<HasTrivialRemoteStorage<T>::value>>
void InitializeRemoteManager (Args &&... args)

Defined at line 621 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, class... Args, absl::enable_if_t<!HasTrivialRemoteStorage<T>::value, int> = 0>
void InitializeRemoteManager (Args &&... args)

Defined at line 633 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

template <class T, class... Args, absl::enable_if_t<!HasTrivialRemoteStorage<T>::value, int> = 0>
void InitializeRemoteManager (Args &&... args)

Defined at line 633 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

Enumerations

enum TargetType
Name Value
kPointer 0
kCompatibleAnyInvocable 0
kIncompatibleAnyInvocable 0
kOther 0

Defined at line 443 of file ../../third_party/abseil-cpp/absl/functional/internal/any_invocable.h

Records