You.i Engine
CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... > Class Template Reference

Detailed Description

template<typename SlotReturnType, typename... SlotTypes, typename... SignalTypes>
class CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >

A signal connection class for connection to non-member functions through raw function pointers.

See also
CYISignal

#include <signal/internal/YiSignalFreeRawConnection.h>

Inheritance diagram for CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >:

Public Types

typedef SlotReturnType(*const SlotType) (SlotTypes...)
 

Public Member Functions

 CYISignalFreeRawConnection (const SlotType &slot, EYIConnectionType connectionType, CYIThreadHandle threadAffinity, CYISignalConnectionID connectionID=CYISignalConnectionID::CreateUnique())
 
virtual void CopyConstructInto (CYISignalConnectionWrapper *pWrapper, CYISignalHandler *, EYIConnectionType newConnectionType) const override
 
virtual void Emit (const SignalTypes &... args) override
 
bool IsConnectionTo (const SlotType &slot) const
 
- Public Member Functions inherited from CYISignalAbstractConnection
virtual ~CYISignalAbstractConnection ()=default
 
void CopyConstructInto (CYISignalConnectionWrapper *pWrapper) const
 
void CopyConstructInto (CYISignalConnectionWrapper *pWrapper, CYISignalHandler *pNewSignalHandler) const
 
void CopyConstructInto (CYISignalConnectionWrapper *pWrapper, EYIConnectionType newConnectionType) const
 
virtual void MoveConstructInto (CYISignalConnectionWrapper *pWrapper)
 
CYISignalHandlerGetSignalHandler () const
 
EYIConnectionType GetConnectionType () const
 
CYIThreadHandle GetThreadAffinity () const
 
bool IsIdentifiedBy (CYISignalConnectionID connectionID) const
 
CYISignalConnectionID GetConnectionID () const
 

Protected Attributes

const SlotType m_pSlot
 
- Protected Attributes inherited from CYISignalAbstractConnection
CYISignalHandler *const m_pSignalHandler
 
const CYIThreadHandle m_threadAffinity
 
const CYISignalConnectionID m_connectionID
 
const EYIConnectionType m_connectionType
 

Additional Inherited Members

- Protected Member Functions inherited from CYISignalBaseConnection< SignalTypes... >
 CYISignalBaseConnection (CYISignalHandler *pSignalHandler, CYIThreadHandle threadAffinity, EYIConnectionType connectionType, CYISignalConnectionID connectionID)
 
- Protected Member Functions inherited from CYISignalAbstractConnection
 CYISignalAbstractConnection (CYISignalHandler *pSignalHandler, CYIThreadHandle threadAffinity, EYIConnectionType connectionType, CYISignalConnectionID connectionID)
 

Member Typedef Documentation

◆ SlotType

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
typedef SlotReturnType(*const CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::SlotType) (SlotTypes...)

The type of slot object held by this connection type.

Constructor & Destructor Documentation

◆ CYISignalFreeRawConnection()

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::CYISignalFreeRawConnection ( const SlotType slot,
EYIConnectionType  connectionType,
CYIThreadHandle  threadAffinity,
CYISignalConnectionID  connectionID = CYISignalConnectionID::CreateUnique() 
)
inline

Member Function Documentation

◆ CopyConstructInto()

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
virtual void CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::CopyConstructInto ( CYISignalConnectionWrapper pWrapper,
CYISignalHandler pNewSignalHandler,
EYIConnectionType  newConnectionType 
) const
inlineoverridevirtual

Copies the data from this object into a placement-new'ed instance within pWrapper.

Implements CYISignalAbstractConnection.

◆ Emit()

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
virtual void CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::Emit ( const SignalTypes &...  args)
inlineoverridevirtual

Emits the signal through this connection object using arguments args.

Implements CYISignalBaseConnection< SignalTypes... >.

◆ IsConnectionTo()

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
bool CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::IsConnectionTo ( const SlotType slot) const
inline

Member Data Documentation

◆ m_pSlot

template<typename SlotReturnType , typename... SlotTypes, typename... SignalTypes>
const SlotType CYISignalFreeRawConnection< SlotReturnType, YiSlotTypesContainer< SlotTypes... >, SignalTypes... >::m_pSlot
protected

The documentation for this class was generated from the following file: