sandbox
|
Public Types | |
using | lockable_type = Lockable |
Public Member Functions | |
signal_base (const signal_base &other)=delete | |
signal_base (signal_base &&other) | |
auto | operator= (const signal_base &other) -> signal_base &=delete |
auto | operator= (signal_base &&other) -> signal_base & |
template<typename... As> | |
auto | emit (As &&... args) -> void |
template<typename... As> | |
auto | operator() (As &&...args) -> void |
template<typename... As> | |
auto | operator+= (As &&... args) -> connection |
template<std::invocable< Args... > Callable> | |
auto | connect (Callable &&callable, group_id id=0) -> connection |
template<typename MemberFnPtr , typename Object > requires (std::is_invocable_v<MemberFnPtr, Object, Args...> && !is_observer_v<Object> && !is_weak_ptr_compatible_v<Object>) | |
auto | connect (MemberFnPtr &&member_fn_ptr, Object &&object, group_id id=0) -> connection |
template<std::invocable< Args... > Callable, typename Trackable > requires (is_weak_ptr_compatible_v<Trackable>) | |
auto | connect (Callable &&callable, Trackable &&trackable, group_id id=0) -> connection |
template<typename... As> | |
auto | connect_scoped (As &&... args) -> scoped_connection |
template<typename Callable > requires (std::is_invocable_v<Callable, Args...> || (std::is_member_function_pointer_v<Callable> && function_traits<Callable>::is_disconnectable_v)) | |
auto | disconnect (const Callable &callable) -> std::size_t |
template<typename Object > requires (!std::is_invocable_v<Object, Args...> && !std::is_member_function_pointer_v<Object>) | |
auto | disconnect (const Object &object) -> std::size_t |
template<typename Callable , typename Object > | |
auto | disconnect (const Callable &callable, const Object &object) -> std::size_t |
auto | disconnect_all () -> void |
void | block () noexcept |
void | unblock () noexcept |
bool | blocked () const noexcept |
virtual auto | clean (memory::observer_ptr< slot_state > state) -> void=0 |
Protected Member Functions | |
auto | clean (memory::observer_ptr< slot_state > state) -> void override |
template<typename Condition > requires (std::is_invocable_r_v<bool, Condition, const slot_ptr&>) | |
auto | disconnect_if (Condition &&condition) -> std::size_t |
|
inlineoverrideprotectedvirtual |
Implements sbx::signals::cleanable.