GA::kit v0.3
G&A's in-house C++ application framework
Loading...
Searching...
No Matches
sigslot::detail::slot_base< Args > Class Template Referenceabstract

#include <sigslot.hpp>

Inheritance diagram for sigslot::detail::slot_base< Args >:
sigslot::detail::slot_state

Public Types

using base_types = trait::typelist< Args... >
 

Public Member Functions

 slot_base (cleanable &c, group_id gid)
 
 ~slot_base () override=default
 
virtual void call_slot (Args...)=0
 
template<typename... U>
void operator() (U &&...u)
 
template<typename C >
bool has_callable (const C &c) const
 
template<typename C >
std::enable_if_t< function_traits< C >::must_check_object, bool > has_full_callable (const C &c) const
 
template<typename C >
std::enable_if_t<!function_traits< C >::must_check_object, bool > has_full_callable (const C &c) const
 
template<typename O >
bool has_object (const O &o) const
 
- Public Member Functions inherited from sigslot::detail::slot_state
constexpr slot_state (group_id gid) noexcept
 
virtual ~slot_state ()=default
 
virtual bool connected () const noexcept
 
bool disconnect () noexcept
 
bool blocked () const noexcept
 
void block () noexcept
 
void unblock () noexcept
 

Protected Member Functions

void do_disconnect () final
 
virtual obj_ptr get_object () const noexcept
 
virtual func_ptr get_callable () const noexcept
 
template<typename U >
bool check_class_type () const
 
- Protected Member Functions inherited from sigslot::detail::slot_state
virtual void do_disconnect ()
 
auto index () const
 
auto & index ()
 
group_id group () const
 

Member Typedef Documentation

◆ base_types

template<typename... Args>
using sigslot::detail::slot_base< Args >::base_types = trait::typelist<Args...>

Constructor & Destructor Documentation

◆ slot_base()

template<typename... Args>
sigslot::detail::slot_base< Args >::slot_base ( cleanable c,
group_id  gid 
)
inlineexplicit

◆ ~slot_base()

template<typename... Args>
sigslot::detail::slot_base< Args >::~slot_base ( )
overridedefault

Member Function Documentation

◆ call_slot()

template<typename... Args>
virtual void sigslot::detail::slot_base< Args >::call_slot ( Args...  )
pure virtual

◆ check_class_type()

template<typename... Args>
template<typename U >
bool sigslot::detail::slot_base< Args >::check_class_type ( ) const
inlineprotected

◆ do_disconnect()

template<typename... Args>
void sigslot::detail::slot_base< Args >::do_disconnect ( )
inlinefinalprotectedvirtual

Reimplemented from sigslot::detail::slot_state.

◆ get_callable()

◆ get_object()

◆ has_callable()

template<typename... Args>
template<typename C >
bool sigslot::detail::slot_base< Args >::has_callable ( const C &  c) const
inline

◆ has_full_callable() [1/2]

template<typename... Args>
template<typename C >
std::enable_if_t< function_traits< C >::must_check_object, bool > sigslot::detail::slot_base< Args >::has_full_callable ( const C &  c) const
inline

◆ has_full_callable() [2/2]

template<typename... Args>
template<typename C >
std::enable_if_t<!function_traits< C >::must_check_object, bool > sigslot::detail::slot_base< Args >::has_full_callable ( const C &  c) const
inline

◆ has_object()

template<typename... Args>
template<typename O >
bool sigslot::detail::slot_base< Args >::has_object ( const O &  o) const
inline

◆ operator()()

template<typename... Args>
template<typename... U>
void sigslot::detail::slot_base< Args >::operator() ( U &&...  u)
inline

The documentation for this class was generated from the following file: