Classes | Functions | Variables
clanCore Signals

## Classes
class | clan::Signal< FuncType >
class | clan::SignalImpl< SlotImplType >
class | clan::Slot
class | clan::SlotContainer
class | clan::SlotImpl
class | clan::SlotImplT< FuncType >

## Functions
| clan::Signal< FuncType >::Signal ()
| clan::Slot::Slot ()
template<typename T >
| clan::Slot::Slot (T impl)
| clan::SlotImpl::SlotImpl ()
| clan::SlotImpl::SlotImpl (const SlotImpl &)=delete
| clan::SlotImplT< FuncType >::SlotImplT (const std::weak_ptr< SignalImpl< SlotImplT >> &signal, const std::function< FuncType > &callback)
virtual | clan::SlotImpl::~SlotImpl ()
| clan::SlotImplT< FuncType >::~SlotImplT ()
template<class R , class T , class... Args>
std::function< R(Args...)> | clan::bind_member (T *instance, R(T::*method)(Args...))
Slot | clan::Signal< FuncType >::connect (const std::function< FuncType > &func)
template<typename InstanceType , typename MemberFuncType >
Slot | clan::Signal< FuncType >::connect (InstanceType instance, MemberFuncType func)
template<typename FuncType , typename InstanceType , typename MemberFuncType >
void | clan::SlotContainer::connect (Signal< FuncType > &signal, InstanceType instance, MemberFuncType func)
template<typename FuncType , typename CallbackType >
void | clan::SlotContainer::connect (Signal< FuncType > &signal, CallbackType func)
| clan::Slot::operator bool () const
template<typename... Args>
void | clan::Signal< FuncType >::operator() (Args...args)
SlotImpl & | clan::SlotImpl::operator= (const SlotImpl &)=delete

## Variables
std::function< FuncType > | clan::SlotImplT< FuncType >::callback
std::weak_ptr< SignalImpl< SlotImplT > > | clan::SlotImplT< FuncType >::signal
std::vector< std::weak_ptr< SlotImplType > > | clan::SignalImpl< SlotImplType >::slots

## Detailed Description

## Function Documentation

template<typename FuncType>

clan::Signal< FuncType >::Signal | ( |  | ) |
| inline

clan::Slot::Slot | ( |  | ) |
| inline

template<typename T >

clan::Slot::Slot | ( | T | impl | ) |
| inline explicit

clan::SlotImpl::SlotImpl | ( |  | ) |
| inline

clan::SlotImpl::SlotImpl | ( | const SlotImpl & |  | ) |
| delete

template<typename FuncType >

clan::SlotImplT< FuncType >::SlotImplT | ( | const std::weak_ptr< SignalImpl< SlotImplT< FuncType > >> & | signal,
|  | const std::function< FuncType > & | callback
| ) |  |
| inline

virtual clan::SlotImpl::~SlotImpl | ( |  | ) |
| inline virtual

template<typename FuncType >

clan::SlotImplT< FuncType >::~SlotImplT | ( |  | ) |
| inline

References clan::SlotImplT< FuncType >::signal.

template<class R , class T , class... Args>

std::function<R(Args...)> clan::bind_member | ( | T * | instance,
|  | R(T::*)(Args...) | method
| ) |  |

Referenced by clan::Signal< void(float, float)>::connect().

template<typename FuncType>

Slot clan::Signal< FuncType >::connect | ( | const std::function< FuncType > & | func | ) |
| inline

Referenced by clan::Signal< void(float, float)>::connect(), and clan::SlotContainer::connect().

template<typename FuncType>
template<typename InstanceType , typename MemberFuncType >

Slot clan::Signal< FuncType >::connect | ( | InstanceType | instance,
|  | MemberFuncType | func
| ) |  |
| inline

template<typename FuncType , typename InstanceType , typename MemberFuncType >

void clan::SlotContainer::connect | ( | Signal< FuncType > & | signal,
|  | InstanceType | instance,
|  | MemberFuncType | func
| ) |  |
| inline

References clan::Signal< FuncType >::connect().

template<typename FuncType , typename CallbackType >

void clan::SlotContainer::connect | ( | Signal< FuncType > & | signal,
|  | CallbackType | func
| ) |  |
| inline

References clan::Signal< FuncType >::connect().

clan::Slot::operator bool | ( |  | ) | const
| inline

template<typename FuncType>
template<typename... Args>

void clan::Signal< FuncType >::operator() | ( | Args... | args | ) |
| inline

SlotImpl& clan::SlotImpl::operator= | ( | const SlotImpl & |  | ) |
| delete

## Variable Documentation

template<typename FuncType >

std::function<FuncType> clan::SlotImplT< FuncType >::callback

template<typename FuncType >

std::weak_ptr<SignalImpl<SlotImplT> > clan::SlotImplT< FuncType >::signal

Referenced by clan::SlotImplT< FuncType >::~SlotImplT().

template<typename SlotImplType>

std::vector<std::weak_ptr<SlotImplType> > clan::SignalImpl< SlotImplType >::slots