header inti/signal-system.h

Name

header inti/signal-system.h --  Contains the Inti signal system.

Declared in this header

Classes.
class DefaultMarshal
class EmptyUselessClass
class NativeSignal
class Signal
class Signal0
class Signal0<void, IgnoredMarshal>
class Signal1
class Signal1<void, Arg1Type, IgnoredMarshal>
class Signal2
class Signal2<void, Arg1Type, Arg2Type, IgnoredMarshal>
class Signal3
class Signal3<void, Arg1Type, Arg2Type, Arg3Type, IgnoredMarshal>
class Signal4
class Signal4<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, IgnoredMarshal>
class Signal5
class Signal5<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, IgnoredMarshal>
class Signal6
class Signal6<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type, IgnoredMarshal>
class SignalEmitter
class SignalEmitterBase
class SignalProxy

Functions.
template <class IgnoredMarshal>
void Signal0<void, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object)
template <class Arg1Type, class IgnoredMarshal>
void Signal1<void, Arg1Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1)
template <class Arg1Type, class Arg2Type, class IgnoredMarshal>
void Signal2<void, Arg1Type, Arg2Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2)
template <class Arg1Type, class Arg2Type, class Arg3Type, class IgnoredMarshal>
void Signal3<void, Arg1Type, Arg2Type, Arg3Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)
template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class IgnoredMarshal>
void Signal4<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)
template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class IgnoredMarshal>
void Signal5<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)
template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Arg6Type, class IgnoredMarshal>
void Signal6<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5, Arg6Type arg6)
template <class ReturnType, class Marshal>
ReturnType Signal0<ReturnType, Marshal>::emit (SignalEmitterBase * emitter_object)
template <class ReturnType, class Arg1Type, class Marshal>
ReturnType Signal1<ReturnType, Arg1Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1)
template <class ReturnType, class Arg1Type, class Arg2Type, class Marshal>
ReturnType Signal2<ReturnType, Arg1Type, Arg2Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2)
template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Marshal>
ReturnType Signal3<ReturnType, Arg1Type, Arg2Type, Arg3Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)
template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Marshal>
ReturnType Signal4<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)
template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Marshal>
ReturnType Signal5<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)
template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Arg6Type, class Marshal>
ReturnType Signal6<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5, Arg6Type arg6)

Description

This header defines the classes that are part of the Inti signal system. A signal is essentially a list of slots that are invoked when a particular event occurs. A slot is simply an object that can be invoked as if it were a function.

Global functions

function Inti::IgnoredMarshal>::emit

template <class IgnoredMarshal>
void Signal0<void, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object)

emitter_object 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class IgnoredMarshal>
void Signal1<void, Arg1Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1)

emitter_object 
arg1 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class Arg2Type, class IgnoredMarshal>
void Signal2<void, Arg1Type, Arg2Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2)

emitter_object 
arg1 
arg2 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class Arg2Type, class Arg3Type, class IgnoredMarshal>
void Signal3<void, Arg1Type, Arg2Type, Arg3Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)

emitter_object 
arg1 
arg2 
arg3 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class IgnoredMarshal>
void Signal4<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)

emitter_object 
arg1 
arg2 
arg3 
arg4 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class IgnoredMarshal>
void Signal5<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)

emitter_object 
arg1 
arg2 
arg3 
arg4 
arg5 

function Inti::IgnoredMarshal>::emit

template <class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Arg6Type, class IgnoredMarshal>
void Signal6<void, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type, IgnoredMarshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5, Arg6Type arg6)

emitter_object 
arg1 
arg2 
arg3 
arg4 
arg5 
arg6 

function Inti::Marshal>::emit

template <class ReturnType, class Marshal>
ReturnType Signal0<ReturnType, Marshal>::emit (SignalEmitterBase * emitter_object)

emitter_object 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Marshal>
ReturnType Signal1<ReturnType, Arg1Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1)

emitter_object 
arg1 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Arg2Type, class Marshal>
ReturnType Signal2<ReturnType, Arg1Type, Arg2Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2)

emitter_object 
arg1 
arg2 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Marshal>
ReturnType Signal3<ReturnType, Arg1Type, Arg2Type, Arg3Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3)

emitter_object 
arg1 
arg2 
arg3 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Marshal>
ReturnType Signal4<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4)

emitter_object 
arg1 
arg2 
arg3 
arg4 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Marshal>
ReturnType Signal5<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5)

emitter_object 
arg1 
arg2 
arg3 
arg4 
arg5 

function Inti::Marshal>::emit

template <class ReturnType, class Arg1Type, class Arg2Type, class Arg3Type, class Arg4Type, class Arg5Type, class Arg6Type, class Marshal>
ReturnType Signal6<ReturnType, Arg1Type, Arg2Type, Arg3Type, Arg4Type, Arg5Type, Arg6Type, Marshal>::emit (SignalEmitterBase * emitter_object, Arg1Type arg1, Arg2Type arg2, Arg3Type arg3, Arg4Type arg4, Arg5Type arg5, Arg6Type arg6)

emitter_object 
arg1 
arg2 
arg3 
arg4 
arg5 
arg6