2 #ifndef _YI_SIGNAL_HANDLER_RAW_CONNECTION_H_ 3 #define _YI_SIGNAL_HANDLER_RAW_CONNECTION_H_ 6 #error "Do not include YiSignalHandlerRawConnection.h directly. Include YiSignal.h instead." 12 template<
typename SlotHandlerType,
typename SlotReturnType,
typename SlotTypes,
typename... SignalTypes>
20 template<
class SlotHandlerType,
typename SlotReturnType,
typename... SlotTypes,
typename... SignalTypes>
27 typedef SlotReturnType (SlotHandlerType::*
const SlotType)(SlotTypes...);
40 virtual void Emit(
const SignalTypes &... args)
override 42 EmitInternal(args...);
47 return slot == m_pSlot;
54 template<
typename... ExtraTypes>
55 inline void EmitInternal(
const SlotTypes &... slotArgs,
const ExtraTypes &...)
57 (
static_cast<SlotHandlerType &
>(*CYISignalAbstractConnection::m_pSignalHandler).*m_pSlot)(slotArgs...);
virtual std::unique_ptr< CYISignalAbstractConnection > Clone(CYISignalHandler *pSignalHandler, YI_CONNECTION_TYPE eConnectionType) const override
Definition: YiSignalHandlerRawConnection.h:35
CYISignalHandlerRawConnection(CYISignalHandler &signalHandler, const SlotType &slot, YI_CONNECTION_TYPE connectionType, const CYISignalConnectionID &connectionID=CYISignalConnectionID::CreateUnique())
Definition: YiSignalHandlerRawConnection.h:29
bool IsConnectionTo(const SlotType &slot) const
Definition: YiSignalHandlerRawConnection.h:45
const SlotType m_pSlot
Definition: YiSignalHandlerRawConnection.h:51
static CYISignalConnectionID CreateUnique()
An object used to identify a specific CYISignal connection.
Definition: YiSignalConnectionID.h:14
The templated abstract class for signal connections.
Definition: YiSignalBaseConnection.h:26
Definition: YiSignalHandlerRawConnection.h:13
A templated struct used to pass multiple parameter packs to a templated class specialization or to a ...
Definition: YiSignalBaseConnection.h:18
Definition: YiSignalHandler.h:174
virtual void Emit(const SignalTypes &...args) override
Definition: YiSignalHandlerRawConnection.h:40
YI_CONNECTION_TYPE
Definition: YiSignalAbstractConnection.h:18