properties-cpp 0.0.3
A very simple convenience library for handling properties and signals in C++11.
core::Signal< void > Class 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.
 

Public Member Functions

 Signal () noexcept(true)
 Signal constructs a new instance. Never throws.
 
 ~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.
 
void operator() ()
 operator () emits the signal.
 

Detailed Description

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

◆ Slot

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

◆ Signal() [1/2]

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

Signal constructs a new instance. Never throws.

Definition at line 195 of file signal.h.

◆ ~Signal()

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

Definition at line 199 of file signal.h.

◆ Signal() [2/2]

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

Member Function Documentation

◆ connect()

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.

◆ operator()()

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.

◆ operator=()

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

◆ operator==()

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

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