scim 1.4.18
scim_slot.h File Reference

C++ slot interface. More...

Classes

class  scim::Slot
 Base class for slots that can connect to scim::Signals. More...
 
class  scim::Slot0< R >
 Base class template for slots passing no arguments and returning a value of type R. More...
 
class  scim::FunctionSlot0< R >
 A slot template for static functions taking no arguments and returning a value of type R. More...
 
class  scim::MethodSlot0< T, R >
 A slot template for methods in a class of type T taking no arguments and returning a value of type R. More...
 
class  scim::SignalSlot0< T, R >
 
class  scim::Slot1< R, P1 >
 Base class template for slots passing one argument of type P1 and returning a value of type R. More...
 
class  scim::FunctionSlot1< R, P1 >
 A slot template for static functions taking one argument of type P1 and returning a value of type R. More...
 
class  scim::MethodSlot1< T, R, P1 >
 A slot template for methods in a class of type T taking one argument of type P1 and returning a value of type R. More...
 
class  scim::SignalSlot1< T, R, P1 >
 
class  scim::Slot2< R, P1, P2 >
 Base class template for slots passing two arguments of type P1 and P2, and returning a value of type R. More...
 
class  scim::FunctionSlot2< R, P1, P2 >
 A slot template for static functions taking two arguments of type P1 and P2, and returning a value of type R. More...
 
class  scim::MethodSlot2< T, R, P1, P2 >
 A slot template for methods in a class of type T taking two arguments of type P1 and P2, and returning a value of type R. More...
 
class  scim::SignalSlot2< T, R, P1, P2 >
 
class  scim::Slot3< R, P1, P2, P3 >
 Base class template for slots passing three arguments of type P1, P2 and P3, and returning a value of type R. More...
 
class  scim::FunctionSlot3< R, P1, P2, P3 >
 A slot template for static functions taking three arguments of type P1, P2 and P3, and returning a value of type R. More...
 
class  scim::MethodSlot3< T, R, P1, P2, P3 >
 A slot template for methods in a class of type T taking three arguments of type P1, P2 and P3, and returning a value of type R. More...
 
class  scim::SignalSlot3< T, R, P1, P2, P3 >
 
class  scim::Slot4< R, P1, P2, P3, P4 >
 Base class template for slots passing four arguments of type P1, P2, P3 and P4, and returning a value of type R. More...
 
class  scim::FunctionSlot4< R, P1, P2, P3, P4 >
 A slot template for static functions taking four arguments of type P1, P2, P3 and P4, and returning a value of type R. More...
 
class  scim::MethodSlot4< T, R, P1, P2, P3, P4 >
 A slot template for methods in a class of type T taking four arguments of type P1, P2, P3 and P4, and returning a value of type R. More...
 
class  scim::SignalSlot4< T, R, P1, P2, P3, P4 >
 
class  scim::Slot5< R, P1, P2, P3, P4, P5 >
 Base class template for slots passing five arguments of type P1, P2, P3, P4 and P5, and returning a value of type R. More...
 
class  scim::FunctionSlot5< R, P1, P2, P3, P4, P5 >
 A slot template for static functions taking five arguments of type P1, P2, P3, P4 and P5, and returning a value of type R. More...
 
class  scim::MethodSlot5< T, R, P1, P2, P3, P4, P5 >
 A slot template for methods in a class of type T taking five arguments of type P1, P2, P3, P4 and P5, and returning a value of type R. More...
 
class  scim::SignalSlot5< T, R, P1, P2, P3, P4, P5 >
 
class  scim::Slot6< R, P1, P2, P3, P4, P5, P6 >
 Base class template for slots passing six arguments of type P1, P2, P3, P4, P5 and P6, and returning a value of type R. More...
 
class  scim::FunctionSlot6< R, P1, P2, P3, P4, P5, P6 >
 A slot template for static functions taking six arguments of type P1, P2, P3, P4, P5 and P6, and returning a value of type R. More...
 
class  scim::MethodSlot6< T, R, P1, P2, P3, P4, P5, P6 >
 A slot template for methods in a class of type T taking six arguments of type P1, P2, P3, P4, P5 and P6, and returning a value of type R. More...
 
class  scim::SignalSlot6< T, R, P1, P2, P3, P4, P5, P6 >
 

Namespaces

namespace  scim
 

Functions

Slot functions returning a new slot
template<typename R >
Slot0< R > * scim::slot (R(*function)())
 
template<typename T1 , typename T2 , typename R >
Slot0< R > * scim::slot (T1 *&object, R(T2::*function)())
 
template<typename T1 , typename T2 , typename R >
Slot0< R > * scim::slot (T1 *const &object, R(T2::*function)())
 
template<typename T1 , typename T2 , typename R >
Slot0< R > * scim::slot (T1 &object, R(T2::*function)())
 
template<typename R , typename P1 >
Slot1< R, P1 > * scim::slot (R(*function)(P1))
 
template<typename T1 , typename T2 , typename R , typename P1 >
Slot1< R, P1 > * scim::slot (T1 *&object, R(T2::*function)(P1))
 
template<typename T1 , typename T2 , typename R , typename P1 >
Slot1< R, P1 > * scim::slot (T1 *const &object, R(T2::*function)(P1))
 
template<typename T1 , typename T2 , typename R , typename P1 >
Slot1< R, P1 > * scim::slot (T1 &object, R(T2::*function)(P1))
 
template<typename R , typename P1 , typename P2 >
Slot2< R, P1, P2 > * scim::slot (R(*function)(P1, P2))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 >
Slot2< R, P1, P2 > * scim::slot (T1 *&object, R(T2::*function)(P1, P2))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 >
Slot2< R, P1, P2 > * scim::slot (T1 *const &object, R(T2::*function)(P1, P2))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 >
Slot2< R, P1, P2 > * scim::slot (T1 &object, R(T2::*function)(P1, P2))
 
template<typename R , typename P1 , typename P2 , typename P3 >
Slot3< R, P1, P2, P3 > * scim::slot (R(*function)(P1, P2, P3))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 >
Slot3< R, P1, P2, P3 > * scim::slot (T1 *&object, R(T2::*function)(P1, P2, P3))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 >
Slot3< R, P1, P2, P3 > * scim::slot (T1 *const &object, R(T2::*function)(P1, P2, P3))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 >
Slot3< R, P1, P2, P3 > * scim::slot (T1 &object, R(T2::*function)(P1, P2, P3))
 
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 >
Slot4< R, P1, P2, P3, P4 > * scim::slot (R(*function)(P1, P2, P3, P4))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 >
Slot4< R, P1, P2, P3, P4 > * scim::slot (T1 *&object, R(T2::*function)(P1, P2, P3, P4))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 >
Slot4< R, P1, P2, P3, P4 > * scim::slot (T1 *const &object, R(T2::*function)(P1, P2, P3, P4))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 >
Slot4< R, P1, P2, P3, P4 > * scim::slot (T1 &object, R(T2::*function)(P1, P2, P3, P4))
 
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
Slot5< R, P1, P2, P3, P4, P5 > * scim::slot (R(*function)(P1, P2, P3, P4, P5))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
Slot5< R, P1, P2, P3, P4, P5 > * scim::slot (T1 *&object, R(T2::*function)(P1, P2, P3, P4, P5))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
Slot5< R, P1, P2, P3, P4, P5 > * scim::slot (T1 *const &object, R(T2::*function)(P1, P2, P3, P4, P5))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
Slot5< R, P1, P2, P3, P4, P5 > * scim::slot (T1 &object, R(T2::*function)(P1, P2, P3, P4, P5))
 
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
Slot6< R, P1, P2, P3, P4, P5, P6 > * scim::slot (R(*function)(P1, P2, P3, P4, P5, P6))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
Slot6< R, P1, P2, P3, P4, P5, P6 > * scim::slot (T1 *&object, R(T2::*function)(P1, P2, P3, P4, P5, P6))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
Slot6< R, P1, P2, P3, P4, P5, P6 > * scim::slot (T1 *const &object, R(T2::*function)(P1, P2, P3, P4, P5, P6))
 
template<typename T1 , typename T2 , typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
Slot6< R, P1, P2, P3, P4, P5, P6 > * scim::slot (T1 &object, R(T2::*function)(P1, P2, P3, P4, P5, P6))
 

Detailed Description

C++ slot interface.

Provides a set of slot class templates. Slots are callable objects that can be used to connect functions, class methods and function objects to scim::Signals.

Most code of this file are came from Inti project.