scim  1.4.9
scim::Signal0< R, Marshal > Class Template Reference

A template for a signal passing no arguments and returning a value of type R. More...

#include <scim_signals.h>

Inheritance diagram for scim::Signal0< R, Marshal >:
Collaboration diagram for scim::Signal0< R, Marshal >:

List of all members.

Public Types

typedef Slot0< R > SlotType
 Function signature for handlers connecting the signal.

Public Member Functions

Connection connect (SlotType *slot)
SlotTypeslot ()
emit ()
operator() ()
 Function operator; calls emit().

Detailed Description

template<typename R, typename Marshal = class DefaultMarshal<R>>
class scim::Signal0< R, Marshal >

A template for a signal passing no arguments and returning a value of type R.


Member Typedef Documentation

template<typename R , typename Marshal = class DefaultMarshal<R>>
typedef Slot0<R> scim::Signal0< R, Marshal >::SlotType

Function signature for handlers connecting the signal.


Member Function Documentation

template<typename R , typename Marshal = class DefaultMarshal<R>>
Connection scim::Signal0< R, Marshal >::connect ( SlotType slot) [inline]

Connect a slot to the signal.

Parameters:
slot- a slot of type Slot0<R>.
Returns:
a connection object.


The returned connection object can be used alter or change the connection.

Referenced by scim::Signal0< void, IgnoreMarshal >::connect().

template<typename R , typename Marshal = class DefaultMarshal<R>>
SlotType* scim::Signal0< R, Marshal >::slot ( ) [inline]

Returns a slot for this signal.

Returns:
a new slot of type Slot0<R>.


The returned slot can be passed to another signal allowing the other signal to call this signal when it gets emitted.

Referenced by scim::Signal0< R, Marshal >::emit(), and scim::Signal0< void, IgnoreMarshal >::emit().

template<typename R , typename Marshal = class DefaultMarshal<R>>
R scim::Signal0< R, Marshal >::emit ( ) [inline]

Emit the signal.

Returns:
the value returned by the signal handler.


Calls every slot connected to this signal, in order of connection.

References scim::Slot0< R >::call(), scim::Signal::connection_list, and scim::Signal0< R, Marshal >::slot().

Referenced by scim::Signal0< R, Marshal >::operator()(), and scim::Signal0< void, IgnoreMarshal >::operator()().

template<typename R , typename Marshal = class DefaultMarshal<R>>
R scim::Signal0< R, Marshal >::operator() ( ) [inline]

Function operator; calls emit().

References scim::Signal0< R, Marshal >::emit().


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