Bitcoin Core 32.99.0
P2P Digital Currency
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
btcsignals::signal< Signature, Combiner > Class Template Reference

#include <btcsignals.h>

Collaboration diagram for btcsignals::signal< Signature, Combiner >:
[legend]

Classes

struct  connection_holder
 

Public Types

using result_type = Combiner::result_type
 

Public Member Functions

constexpr signal () noexcept=default
 
 ~signal ()=default
 
 signal (const signal &)=delete
 
 signal (signal &&)=delete
 
signal & operator= (const signal &)=delete
 
signal & operator= (signal &&)=delete
 
template<typename... Args>
result_type operator() (Args &&... args) const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
 
template<typename Callable >
connection connect (Callable &&func) EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
 
bool empty () const EXCLUSIVE_LOCKS_REQUIRED(!m_mutex)
 

Private Types

using function_type = std::function< Signature >
 

Private Member Functions

std::vector< std::shared_ptr< connection_holder > > m_connections GUARDED_BY (m_mutex)
 

Private Attributes

Mutex m_mutex
 

Detailed Description

template<typename Signature, typename Combiner>
class btcsignals::signal< Signature, Combiner >

Definition at line 195 of file btcsignals.h.

Member Typedef Documentation

◆ function_type

using btcsignals::signal< Signature, Combiner >::function_type = std::function<Signature>
private

Definition at line 197 of file btcsignals.h.

◆ result_type

using btcsignals::signal< Signature, Combiner >::result_type = Combiner::result_type

Definition at line 222 of file btcsignals.h.

Constructor & Destructor Documentation

◆ signal() [1/3]

constexpr btcsignals::signal< Signature, Combiner >::signal ( )
constexprdefaultnoexcept

◆ ~signal()

◆ signal() [2/3]

btcsignals::signal< Signature, Combiner >::signal ( const signal< Signature, Combiner > &  )
delete

◆ signal() [3/3]

Member Function Documentation

◆ connect()

template<typename Callable >
connection btcsignals::signal< Signature, Combiner >::connect ( Callable &&  func)
inline

Definition at line 288 of file btcsignals.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ empty()

bool btcsignals::signal< Signature, Combiner >::empty ( ) const
inline

Definition at line 302 of file btcsignals.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ GUARDED_BY()

std::vector< std::shared_ptr< connection_holder > > m_connections btcsignals::signal< Signature, Combiner >::GUARDED_BY ( m_mutex  )
inlineprivate

Definition at line 219 of file btcsignals.h.

◆ operator()()

template<typename... Args>
result_type btcsignals::signal< Signature, Combiner >::operator() ( Args &&...  args) const
inline

Definition at line 251 of file btcsignals.h.

Here is the call graph for this function:

◆ operator=() [1/2]

signal & btcsignals::signal< Signature, Combiner >::operator= ( const signal< Signature, Combiner > &  )
delete

◆ operator=() [2/2]

Member Data Documentation

◆ m_mutex

Mutex btcsignals::signal< Signature, Combiner >::m_mutex
mutableprivate

Definition at line 217 of file btcsignals.h.


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