template<typename Interface, typename AnyClass, size_t StorageSize>
sead::detail::AnyDelegateImpl class

Constructors, destructors, conversion operators

AnyDelegateImpl()
Stores a dummy function.
template<typename DelegateType>
AnyDelegateImpl(DelegateType other)
Stores a function.
operator bool() const explicit
Checks if a non-dummy function is stored.

Public functions

template<typename DelegateType>
auto operator=(DelegateType other) -> AnyDelegateImpl&
Stores a function.
template<typename... Args>
auto operator()(Args && ... args) -> auto
Calls the stored function.
template<typename... Args>
auto operator()(Args && ... args) const -> auto
Calls the stored function.
auto getDelegate() -> Interface*
auto getDelegate() const -> const Interface*

Protected types

using Interface_ = Interface

Protected variables

std::aligned_storage_t<StorageSize, alignof(Interface)> mStorage