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