Classes | |
struct | ConversionConstruct |
class | CoreImpl |
struct | ForwardedParameter |
class | Impl |
struct | IsAnyInvocable |
struct | IsAnyInvocable< AnyInvocable< Sig > > |
struct | IsInPlaceType |
struct | IsInPlaceType< absl::in_place_type_t< T > > |
class | TrivialDeleter |
struct | TypedConversionConstruct |
union | TypeErasedState |
struct | UnwrapStdReferenceWrapperImpl |
struct | UnwrapStdReferenceWrapperImpl< std::reference_wrapper< T > > |
Typedefs | |
template<class Sig , class F , class = absl::enable_if_t< !std::is_same<RemoveCVRef<F>, AnyInvocable<Sig>>::value>> | |
using | CanAssign = True< absl::enable_if_t< Impl< Sig >::template CallIsValid< F >::value >, absl::enable_if_t< Impl< Sig >::template CallIsNoexceptIfSigIsNoexcept< F >::value >, absl::enable_if_t< std::is_constructible< absl::decay_t< F >, F >::value > > |
template<class Sig , class F > | |
using | CanAssignReferenceWrapper = True< absl::enable_if_t< Impl< Sig >::template CallIsValid< std::reference_wrapper< F > >::value >, absl::enable_if_t< Impl< Sig >::template CallIsNoexceptIfSigIsNoexcept< std::reference_wrapper< F > >::value > > |
template<class Sig , class F , class = absl::enable_if_t< !std::is_same<RemoveCVRef<F>, AnyInvocable<Sig>>::value>> | |
using | CanConvert = True< absl::enable_if_t<!IsInPlaceType< RemoveCVRef< F > >::value >, absl::enable_if_t< Impl< Sig >::template CallIsValid< F >::value >, absl::enable_if_t< Impl< Sig >::template CallIsNoexceptIfSigIsNoexcept< F >::value >, absl::enable_if_t< std::is_constructible< absl::decay_t< F >, F >::value > > |
template<class Sig , class F , class... Args> | |
using | CanEmplace = True< absl::enable_if_t< Impl< Sig >::template CallIsValid< F >::value >, absl::enable_if_t< Impl< Sig >::template CallIsNoexceptIfSigIsNoexcept< F >::value >, absl::enable_if_t< std::is_constructible< absl::decay_t< F >, Args... >::value > > |
template<class T > | |
using | ForwardedParameterType = typename ForwardedParameter< T >::type |
template<bool SigIsNoexcept, class ReturnType , class... P> | |
using | InvokerType = ReturnType(TypeErasedState *, ForwardedParameterType< P >...) ABSL_INTERNAL_NOEXCEPT_SPEC(SigIsNoexcept) |
template<class T > | |
using | IsStoredLocally = std::integral_constant< bool, sizeof(T)<=kStorageSize &&alignof(T)<=kAlignment &&kAlignment % alignof(T)==0 &&std::is_nothrow_move_constructible< T >::value > |
using | ManagerType = void(FunctionToCall, TypeErasedState *, TypeErasedState *) ABSL_INTERNAL_NOEXCEPT_SPEC(true) |
template<class T > | |
using | RemoveCVRef = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
template<class... T> | |
using | True = std::integral_constant< bool, sizeof(absl::void_t< T... > *) !=0 > |
template<class T > | |
using | UnwrapStdReferenceWrapper = typename UnwrapStdReferenceWrapperImpl< T >::type |
Enumerations | |
enum | FunctionToCall : bool { FunctionToCall::relocate_from_to, FunctionToCall::dispose } |
enum | StorageProperty : std::size_t { kAlignment = alignof(std::max_align_t), kStorageSize = sizeof(void*) * 2 } |
Functions | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (, &&, &&) | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (, &, &) | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (,, &) | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (const, &&, const &&) | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (const, &, const &) | |
ABSL_INTERNAL_ANY_INVOCABLE_IMPL (const,, const &) | |
void | EmptyManager (FunctionToCall, TypeErasedState *, TypeErasedState *) noexcept |
template<typename T > | |
T && | ForwardImpl (std::false_type) |
template<typename T > | |
T | ForwardImpl (std::true_type) |
template<class ReturnType , class F , class... P, typename = absl::enable_if_t<std::is_void<ReturnType>::value>> | |
void | InvokeR (F &&f, P &&... args) |
template<class ReturnType , class F , class... P, absl::enable_if_t<!std::is_void< ReturnType >::value, int > = 0> | |
ReturnType | InvokeR (F &&f, P &&... args) |
template<bool NoExceptSrc, bool NoExceptDest, class... T> | |
constexpr bool | IsCompatibleConversion (CoreImpl< NoExceptSrc, T... > *, CoreImpl< NoExceptDest, T... > *) |
constexpr bool | IsCompatibleConversion (void *, void *) |
template<bool SigIsNoexcept, class ReturnType , class QualTRef , class... P> | |
ReturnType | LocalInvoker (TypeErasedState *const state, ForwardedParameterType< P >... args) noexcept(SigIsNoexcept) |
template<class T > | |
void | LocalManagerNontrivial (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to) noexcept |
void | LocalManagerTrivial (FunctionToCall, TypeErasedState *const from, TypeErasedState *const to) noexcept |
template<class T > | |
T & | ObjectInLocalStorage (TypeErasedState *const state) |
template<bool SigIsNoexcept, class ReturnType , class QualTRef , class... P> | |
ReturnType | RemoteInvoker (TypeErasedState *const state, ForwardedParameterType< P >... args) noexcept(SigIsNoexcept) |
template<class T > | |
void | RemoteManagerNontrivial (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to) noexcept |
void | RemoteManagerTrivial (FunctionToCall operation, TypeErasedState *const from, TypeErasedState *const to) noexcept |
using absl::internal_any_invocable::CanAssign = typedef True<absl::enable_if_t<Impl<Sig>::template CallIsValid<F>::value>, absl::enable_if_t< Impl<Sig>::template CallIsNoexceptIfSigIsNoexcept<F>::value>, absl::enable_if_t<std::is_constructible<absl::decay_t<F>, F>::value> > |
Definition at line 716 of file internal/any_invocable.h.
using absl::internal_any_invocable::CanAssignReferenceWrapper = typedef True<absl::enable_if_t< Impl<Sig>::template CallIsValid<std::reference_wrapper<F> >::value>, absl::enable_if_t<Impl<Sig>::template CallIsNoexceptIfSigIsNoexcept< std::reference_wrapper<F> >::value> > |
Definition at line 724 of file internal/any_invocable.h.
using absl::internal_any_invocable::CanConvert = typedef True<absl::enable_if_t<!IsInPlaceType<RemoveCVRef<F> >::value>, absl::enable_if_t<Impl<Sig>::template CallIsValid<F>::value>, absl::enable_if_t< Impl<Sig>::template CallIsNoexceptIfSigIsNoexcept<F>::value>, absl::enable_if_t<std::is_constructible<absl::decay_t<F>, F>::value> > |
Definition at line 698 of file internal/any_invocable.h.
using absl::internal_any_invocable::CanEmplace = typedef True< absl::enable_if_t<Impl<Sig>::template CallIsValid<F>::value>, absl::enable_if_t< Impl<Sig>::template CallIsNoexceptIfSigIsNoexcept<F>::value>, absl::enable_if_t<std::is_constructible<absl::decay_t<F>, Args...>::value> > |
Definition at line 706 of file internal/any_invocable.h.
using absl::internal_any_invocable::ForwardedParameterType = typedef typename ForwardedParameter<T>::type |
Definition at line 168 of file internal/any_invocable.h.
using absl::internal_any_invocable::InvokerType = typedef ReturnType(TypeErasedState*, ForwardedParameterType<P>...) ABSL_INTERNAL_NOEXCEPT_SPEC(SigIsNoexcept) |
Definition at line 231 of file internal/any_invocable.h.
using absl::internal_any_invocable::IsStoredLocally = typedef std::integral_constant< bool, sizeof(T) <= kStorageSize && alignof(T) <= kAlignment && kAlignment % alignof(T) == 0 && std::is_nothrow_move_constructible<T>::value> |
Definition at line 114 of file internal/any_invocable.h.
using absl::internal_any_invocable::ManagerType = typedef void(FunctionToCall , TypeErasedState* , TypeErasedState* ) ABSL_INTERNAL_NOEXCEPT_SPEC(true) |
Definition at line 225 of file internal/any_invocable.h.
using absl::internal_any_invocable::RemoveCVRef = typedef typename std::remove_cv<typename std::remove_reference<T>::type>::type |
Definition at line 119 of file internal/any_invocable.h.
using absl::internal_any_invocable::True = typedef std::integral_constant<bool, sizeof(absl::void_t<T...>*) != 0> |
Definition at line 687 of file internal/any_invocable.h.
using absl::internal_any_invocable::UnwrapStdReferenceWrapper = typedef typename UnwrapStdReferenceWrapperImpl<T>::type |
Definition at line 679 of file internal/any_invocable.h.
|
strong |
Enumerator | |
---|---|
relocate_from_to | |
dispose |
Definition at line 178 of file internal/any_invocable.h.
enum absl::internal_any_invocable::StorageProperty : std::size_t |
Enumerator | |
---|---|
kAlignment | |
kStorageSize |
Definition at line 91 of file internal/any_invocable.h.
absl::internal_any_invocable::ABSL_INTERNAL_ANY_INVOCABLE_IMPL | ( | && | , |
&& | |||
) |
absl::internal_any_invocable::ABSL_INTERNAL_ANY_INVOCABLE_IMPL | ( | & | , |
& | |||
) |
absl::internal_any_invocable::ABSL_INTERNAL_ANY_INVOCABLE_IMPL | ( | & | ) |
|
inlinenoexcept |
Definition at line 234 of file internal/any_invocable.h.
T&& absl::internal_any_invocable::ForwardImpl | ( | std::false_type | ) |
T absl::internal_any_invocable::ForwardImpl | ( | std::true_type | ) |
void absl::internal_any_invocable::InvokeR | ( | F && | f, |
P &&... | args | ||
) |
Definition at line 129 of file internal/any_invocable.h.
ReturnType absl::internal_any_invocable::InvokeR | ( | F && | f, |
P &&... | args | ||
) |
Definition at line 135 of file internal/any_invocable.h.
|
constexpr |
Definition at line 419 of file internal/any_invocable.h.
|
constexpr |
Definition at line 417 of file internal/any_invocable.h.
|
noexcept |
Definition at line 291 of file internal/any_invocable.h.
|
noexcept |
Definition at line 265 of file internal/any_invocable.h.
|
inlinenoexcept |
Definition at line 240 of file internal/any_invocable.h.
T& absl::internal_any_invocable::ObjectInLocalStorage | ( | TypeErasedState *const | state | ) |
Definition at line 196 of file internal/any_invocable.h.
|
noexcept |
Definition at line 349 of file internal/any_invocable.h.
|
noexcept |
Definition at line 328 of file internal/any_invocable.h.
|
inlinenoexcept |
Definition at line 306 of file internal/any_invocable.h.