Cinder  0.9.1
Classes | Public Member Functions | Protected Types | Private Member Functions | List of all members
cinder::signals::detail::SignalProto< R(Args...), Collector > Class Template Reference

#include <Signals.h>

Inherits cinder::signals::detail::CollectorInvocation< Collector, R(Args...)>.

Public Member Functions

 SignalProto ()
 
 ~SignalProto ()
 
Connection connect (const CallbackFn &callback)
 
Connection connect (int priority, const CallbackFn &callback)
 
CollectorResult emit (Args...args)
 
void emit (Collector &collector, Args...args)
 
size_t getNumSlots () const
 

Protected Types

typedef std::function< R(Args...)> CallbackFn
 
typedef CallbackFn::result_type Result
 
typedef Collector::CollectorResult CollectorResult
 

Private Member Functions

bool invoke (Collector &collector, const std::function< R(Args...)> &callback, Args...args)
 

Detailed Description

template<class Collector, class R, class... Args>
class cinder::signals::detail::SignalProto< R(Args...), Collector >

SignalProto template, the parent class of Signal, specialised for the callback signature and collector.

Member Typedef Documentation

template<class Collector , class R , class... Args>
typedef std::function<R ( Args... )> cinder::signals::detail::SignalProto< R(Args...), Collector >::CallbackFn
protected
template<class Collector , class R , class... Args>
typedef CallbackFn::result_type cinder::signals::detail::SignalProto< R(Args...), Collector >::Result
protected
template<class Collector , class R , class... Args>
typedef Collector::CollectorResult cinder::signals::detail::SignalProto< R(Args...), Collector >::CollectorResult
protected

Constructor & Destructor Documentation

template<class Collector , class R , class... Args>
cinder::signals::detail::SignalProto< R(Args...), Collector >::SignalProto ( )

Constructs an empty SignalProto.

template<class Collector , class R , class... Args>
cinder::signals::detail::SignalProto< R(Args...), Collector >::~SignalProto ( )

Destructor releases all resources associated with this signal.

Member Function Documentation

template<class Collector , class R , class... Args>
Connection cinder::signals::detail::SignalProto< R(Args...), Collector >::connect ( const CallbackFn callback)

Connects callback to the signal, assigned to the default priority group (priority = 0).

Returns
a Connection, which can be used to disconnect this callback slot.
template<class Collector , class R , class... Args>
Connection cinder::signals::detail::SignalProto< R(Args...), Collector >::connect ( int  priority,
const CallbackFn callback 
)

Connects callback to the signal, assigned to the priority group priority.

Returns
a Connection, which can be used to disconnect this callback slot.
template<class Collector , class R , class... Args>
CollectorResult cinder::signals::detail::SignalProto< R(Args...), Collector >::emit ( Args...  args)

Emit a signal, i.e. invoke all its callbacks and collect return types with Collector.

Returns
the CollectorResult from the collector.
template<class Collector , class R , class... Args>
void cinder::signals::detail::SignalProto< R(Args...), Collector >::emit ( Collector &  collector,
Args...  args 
)

Emit a signal, i.e. invoke all its callbacks and collect return types with collector.

template<class Collector , class R , class... Args>
size_t cinder::signals::detail::SignalProto< R(Args...), Collector >::getNumSlots ( ) const

Returns the number of connected slots.


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