|
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.