properties-cpp  0.0.1
A very simple convenience library for handling properties and signals in C++11.
core::Signal< void > Class Template Reference

A signal class that observers can subscribe to, template specialization for signals without arguments. More...

#include <signal.h>

+ Collaboration diagram for core::Signal< void >:

Public Types

typedef std::function< void()> Slot
 Slot is the function type that observers have to provide to connect to this signal. More...
 

Public Member Functions

 Signal () noexcept(true)
 Signal constructs a new instance. Never throws. More...
 
 ~Signal ()
 
 Signal (const Signal &)=delete
 
Signaloperator= (const Signal &)=delete
 
bool operator== (const Signal &) const =delete
 
Connection connect (const Slot &slot) const
 Connects the provided slot to this signal instance. More...
 
void operator() ()
 operator () emits the signal. More...
 

Detailed Description

template<>
class core::Signal< void >

A signal class that observers can subscribe to, template specialization for signals without arguments.

Definition at line 170 of file signal.h.

Member Typedef Documentation

typedef std::function<void()> core::Signal< void >::Slot

Slot is the function type that observers have to provide to connect to this signal.

Definition at line 176 of file signal.h.

Constructor & Destructor Documentation

core::Signal< void >::Signal ( )
inlinenoexcept

Signal constructs a new instance. Never throws.

Definition at line 195 of file signal.h.

core::Signal< void >::~Signal ( )
inline

Definition at line 199 of file signal.h.

core::Signal< void >::Signal ( const Signal< void > &  )
delete

Member Function Documentation

Connection core::Signal< void >::connect ( const Slot slot) const
inline

Connects the provided slot to this signal instance.

Calling this method is thread-safe and synchronized with any other connect, signal emission or disconnect calls.

Parameters
slotThe function to be called when the signal is emitted.
Returns
A connection object corresponding to the signal-slot connection.

Definition at line 220 of file signal.h.

void core::Signal< void >::operator() ( )
inline

operator () emits the signal.

Please note that signal emissions might not be delivered immediately to registered slots, depending on whether the respective connection is dispatched via a queueing dispatcher.

Definition at line 263 of file signal.h.

Signal& core::Signal< void >::operator= ( const Signal< void > &  )
delete
bool core::Signal< void >::operator== ( const Signal< void > &  ) const
delete

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