#include <any_invocable.h>
Classes | |
struct | IsCompatibleAnyInvocable |
struct | IsCompatibleAnyInvocable< AnyInvocable< Sig > > |
Public Types | |
template<class T > | |
using | HasTrivialRemoteStorage = std::integral_constant< bool, std::is_trivially_destructible< T >::value &&alignof(T)<=ABSL_INTERNAL_DEFAULT_NEW_ALIGNMENT > |
using | result_type = ReturnType |
enum | TargetType : int { TargetType::kPointer = 0, TargetType::kCompatibleAnyInvocable = 1, TargetType::kIncompatibleAnyInvocable = 2, TargetType::kOther = 3 } |
Public Member Functions | |
void | Clear () |
CoreImpl () noexcept | |
template<class QualTRef , class... Args> | |
CoreImpl (absl::in_place_type_t< QualTRef >, Args &&... args) | |
CoreImpl (CoreImpl &&other) noexcept | |
template<class QualDecayedTRef , class F > | |
CoreImpl (TypedConversionConstruct< QualDecayedTRef >, F &&f) | |
bool | HasValue () const |
template<int target_type, class QualDecayedTRef , class F , absl::enable_if_t< target_type==0, int > = 0> | |
void | Initialize (F &&f) |
template<int target_type, class QualDecayedTRef , class F , absl::enable_if_t< target_type==1, int > = 0> | |
void | Initialize (F &&f) |
template<int target_type, class QualDecayedTRef , class F , absl::enable_if_t< target_type==2, int > = 0> | |
void | Initialize (F &&f) |
template<int target_type, class QualDecayedTRef , class F , typename = absl::enable_if_t<target_type == 3>> | |
void | Initialize (F &&f) |
template<class T , typename = absl::enable_if_t<std::is_trivially_copyable<T>::value>> | |
void | InitializeLocalManager () |
template<class T , absl::enable_if_t<!std::is_trivially_copyable< T >::value, int > = 0> | |
void | InitializeLocalManager () |
template<class T , class... Args, typename = absl::enable_if_t<HasTrivialRemoteStorage<T>::value>> | |
void | InitializeRemoteManager (Args &&... args) |
template<class T , class... Args, absl::enable_if_t<!HasTrivialRemoteStorage< T >::value, int > = 0> | |
void | InitializeRemoteManager (Args &&... args) |
template<class QualTRef , class... Args, typename = absl::enable_if_t< IsStoredLocally<RemoveCVRef<QualTRef>>::value>> | |
void | InitializeStorage (Args &&... args) |
template<class QualTRef , class... Args, absl::enable_if_t<!IsStoredLocally< RemoveCVRef< QualTRef >>::value, int > = 0> | |
void | InitializeStorage (Args &&... args) |
CoreImpl & | operator= (CoreImpl &&other) noexcept |
~CoreImpl () | |
Public Attributes | |
InvokerType< SigIsNoexcept, ReturnType, P... > * | invoker_ |
ManagerType * | manager_ |
TypeErasedState | state_ |
Definition at line 415 of file internal/any_invocable.h.
using absl::internal_any_invocable::CoreImpl< SigIsNoexcept, ReturnType, P >::HasTrivialRemoteStorage = std::integral_constant<bool, std::is_trivially_destructible<T>::value && alignof(T) <= ABSL_INTERNAL_DEFAULT_NEW_ALIGNMENT> |
Definition at line 606 of file internal/any_invocable.h.
using absl::internal_any_invocable::CoreImpl< SigIsNoexcept, ReturnType, P >::result_type = ReturnType |
Definition at line 429 of file internal/any_invocable.h.
|
strong |
Enumerator | |
---|---|
kPointer | |
kCompatibleAnyInvocable | |
kIncompatibleAnyInvocable | |
kOther |
Definition at line 433 of file internal/any_invocable.h.
|
inlinenoexcept |
Definition at line 431 of file internal/any_invocable.h.
|
inlineexplicit |
Definition at line 444 of file internal/any_invocable.h.
|
inlineexplicit |
Definition at line 467 of file internal/any_invocable.h.
|
inlinenoexcept |
Definition at line 471 of file internal/any_invocable.h.
|
inline |
Definition at line 499 of file internal/any_invocable.h.
|
inline |
Definition at line 505 of file internal/any_invocable.h.
|
inline |
Definition at line 502 of file internal/any_invocable.h.
|
inline |
Definition at line 513 of file internal/any_invocable.h.
|
inline |
Definition at line 538 of file internal/any_invocable.h.
|
inline |
Definition at line 550 of file internal/any_invocable.h.
|
inline |
Definition at line 561 of file internal/any_invocable.h.
|
inline |
Definition at line 592 of file internal/any_invocable.h.
|
inline |
Definition at line 598 of file internal/any_invocable.h.
|
inline |
Definition at line 610 of file internal/any_invocable.h.
|
inline |
Definition at line 622 of file internal/any_invocable.h.
|
inline |
Definition at line 569 of file internal/any_invocable.h.
|
inline |
Definition at line 583 of file internal/any_invocable.h.
|
inlinenoexcept |
Definition at line 479 of file internal/any_invocable.h.
InvokerType<SigIsNoexcept, ReturnType, P...>* absl::internal_any_invocable::CoreImpl< SigIsNoexcept, ReturnType, P >::invoker_ |
Definition at line 653 of file internal/any_invocable.h.
ManagerType* absl::internal_any_invocable::CoreImpl< SigIsNoexcept, ReturnType, P >::manager_ |
Definition at line 652 of file internal/any_invocable.h.
TypeErasedState absl::internal_any_invocable::CoreImpl< SigIsNoexcept, ReturnType, P >::state_ |
Definition at line 651 of file internal/any_invocable.h.