template<typename A1, typename A2>
sead::AnyDelegate2 class

Base classes

template<typename Interface, typename AnyClass, size_t StorageSize>
class AnyDelegateImpl<IDelegate2<A1, A2>, AnyDelegate2<A1, A2>, sizeof(Delegate2<detail::DummyClassForDelegate, A1, A2>)>

Public types

class UnbindDummy
using Base = detail::AnyDelegateImpl<IDelegate2<A1, A2>, AnyDelegate2<A1, A2>, sizeof(Delegate2<detail::DummyClassForDelegate, A1, A2>)>

Constructors, destructors, conversion operators

operator bool() const explicit
Checks if a non-dummy function is stored.

Public functions

auto operator()(Args && ... args) -> auto
Calls the stored function.
auto operator()(Args && ... args) const -> auto
Calls the stored function.
auto getDelegate() -> IDelegate2<A1, A2>*
auto getDelegate() const -> const IDelegate2<A1, A2>*

Protected types

using Interface_ = IDelegate2<A1, A2>

Protected variables

std::aligned_storage_t<StorageSize, alignof(IDelegate2<A1, A2>)> mStorage