GranOO  3.0
A robust and versatile workbench to build 3D dynamic simulations based on the Discrete Element Method
Public Member Functions | Private Attributes | List of all members
GranOO3::Core::Signal< Args > Class Template Reference

#include <Signal.hpp>

Public Member Functions

 Signal ()
 
 Signal (Signal const &other)
 
template<typename T >
int connect_member (T *inst, void(T::*func)(Args...))
 
template<typename T >
int connect_member (T *inst, void(T::*func)(Args...) const)
 
int connect (std::function< void(Args...)> const &slot) const
 
void disconnect (int id) const
 
void disconnect_all () const
 
void emit_signal (Args... p)
 

Private Attributes

std::map< int, std::function< void(Args...)> > slots_
 
int _current_ID
 

Constructor & Destructor Documentation

◆ Signal() [1/2]

template<typename ... Args>
GranOO3::Core::Signal< Args >::Signal ( )
inline

◆ Signal() [2/2]

template<typename ... Args>
GranOO3::Core::Signal< Args >::Signal ( Signal< Args > const other)
inline

Member Function Documentation

◆ connect()

template<typename ... Args>
int GranOO3::Core::Signal< Args >::connect ( std::function< void(Args...)> const slot) const
inline

◆ connect_member() [1/2]

template<typename ... Args>
template<typename T >
int GranOO3::Core::Signal< Args >::connect_member ( T *  inst,
void(T::*)(Args...) const  func 
)
inline

◆ connect_member() [2/2]

template<typename ... Args>
template<typename T >
int GranOO3::Core::Signal< Args >::connect_member ( T *  inst,
void(T::*)(Args...)  func 
)
inline

◆ disconnect()

template<typename ... Args>
void GranOO3::Core::Signal< Args >::disconnect ( int  id) const
inline

◆ disconnect_all()

template<typename ... Args>
void GranOO3::Core::Signal< Args >::disconnect_all ( ) const
inline

◆ emit_signal()

template<typename ... Args>
void GranOO3::Core::Signal< Args >::emit_signal ( Args...  p)
inline

Member Data Documentation

◆ _current_ID

template<typename ... Args>
int GranOO3::Core::Signal< Args >::_current_ID
mutableprivate

◆ slots_

template<typename ... Args>
std::map<int, std::function<void(Args...)> > GranOO3::Core::Signal< Args >::slots_
mutableprivate

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