E-MailRelay
Classes | Namespaces | Typedefs | Functions
gslot.h File Reference
#include "gdef.h"
#include "gexception.h"
#include "gassert.h"
#include <functional>
#include <memory>

Go to the source code of this file.

Classes

struct  G::Slot::Binder< T, Args >
 A functor class template that contains the target object pointer and method pointer, similar to c++20 bind_front(&T::fn,tp). More...
 
struct  G::Slot::Slot< Args >
 A slot class template that is parameterised only on the target method's signature (with an implicit void return) and not on the target class. More...
 
struct  G::Slot::SignalImp
 A slot/signal scoping class. More...
 
struct  G::Slot::Signal< SlotArgs >
 A slot holder, with connect() and emit() methods. More...
 

Namespaces

namespace  G
 Low-level classes.
 
namespace  G::Slot
 A callback mechanism that isolates event sinks from event sources.
 

Typedefs

using G::Slot::Signal0 = Signal<>
 
template<typename T >
using G::Slot::Signal1 = Signal< T >
 
template<typename T1 , typename T2 >
using G::Slot::Signal2 = Signal< T1, T2 >
 
template<typename T1 , typename T2 , typename T3 >
using G::Slot::Signal3 = Signal< T1, T2, T3 >
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
using G::Slot::Signal4 = Signal< T1, T2, T3, T4 >
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
using G::Slot::Signal5 = Signal< T1, T2, T3, T4, T5 >
 
using G::Slot::Slot0 = Slot<>
 
template<typename T >
using G::Slot::Slot1 = Slot< T >
 
template<typename T1 , typename T2 >
using G::Slot::Slot2 = Slot< T1, T2 >
 
template<typename T1 , typename T2 , typename T3 >
using G::Slot::Slot3 = Slot< T1, T2, T3 >
 
template<typename T1 , typename T2 , typename T3 , typename T4 >
using G::Slot::Slot4 = Slot< T1, T2, T3, T4 >
 
template<typename T1 , typename T2 , typename T3 , typename T4 , typename T5 >
using G::Slot::Slot5 = Slot< T1, T2, T3, T4, T5 >
 

Functions

template<typename TSink , typename... Args>
Slot< Args... > G::Slot::slot (TSink &sink, void(TSink::*method)(Args...))
 A factory function for Slot objects. More...