📄 sigslot.h
字号:
arg5_type, arg6_type, arg7_type, arg8_type, mt_policy>((dest_type *)pnewdest, m_pmemfun); } virtual void emit(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6, arg7_type a7, arg8_type a8) { (m_pobject->*m_pmemfun)(a1, a2, a3, a4, a5, a6, a7, a8); } virtual has_slots<mt_policy>* getdest() const { return m_pobject; } private: dest_type* m_pobject; void (dest_type::* m_pmemfun)(arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, arg7_type, arg8_type); }; template<class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal0 : public _signal_base0<mt_policy> { public: typedef _signal_base0<mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal0() { ; } signal0(const signal0<mt_policy>& s) : _signal_base0<mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)()) { lock_block<mt_policy> lock(this); _connection0<desttype, mt_policy>* conn = new _connection0<desttype, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit() { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(); it = itNext; } } void operator()() { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(); it = itNext; } } }; template<class arg1_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal1 : public _signal_base1<arg1_type, mt_policy> { public: typedef _signal_base1<arg1_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal1() { ; } signal1(const signal1<arg1_type, mt_policy>& s) : _signal_base1<arg1_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type)) { lock_block<mt_policy> lock(this); _connection1<desttype, arg1_type, mt_policy>* conn = new _connection1<desttype, arg1_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1); it = itNext; } } void operator()(arg1_type a1) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1); it = itNext; } } }; template<class arg1_type, class arg2_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal2 : public _signal_base2<arg1_type, arg2_type, mt_policy> { public: typedef _signal_base2<arg1_type, arg2_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal2() { ; } signal2(const signal2<arg1_type, arg2_type, mt_policy>& s) : _signal_base2<arg1_type, arg2_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type, arg2_type)) { lock_block<mt_policy> lock(this); _connection2<desttype, arg1_type, arg2_type, mt_policy>* conn = new _connection2<desttype, arg1_type, arg2_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1, arg2_type a2) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2); it = itNext; } } void operator()(arg1_type a1, arg2_type a2) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2); it = itNext; } } }; template<class arg1_type, class arg2_type, class arg3_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal3 : public _signal_base3<arg1_type, arg2_type, arg3_type, mt_policy> { public: typedef _signal_base3<arg1_type, arg2_type, arg3_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal3() { ; } signal3(const signal3<arg1_type, arg2_type, arg3_type, mt_policy>& s) : _signal_base3<arg1_type, arg2_type, arg3_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type, arg2_type, arg3_type)) { lock_block<mt_policy> lock(this); _connection3<desttype, arg1_type, arg2_type, arg3_type, mt_policy>* conn = new _connection3<desttype, arg1_type, arg2_type, arg3_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1, arg2_type a2, arg3_type a3) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3); it = itNext; } } void operator()(arg1_type a1, arg2_type a2, arg3_type a3) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3); it = itNext; } } }; template<class arg1_type, class arg2_type, class arg3_type, class arg4_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal4 : public _signal_base4<arg1_type, arg2_type, arg3_type, arg4_type, mt_policy> { public: typedef _signal_base4<arg1_type, arg2_type, arg3_type, arg4_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal4() { ; } signal4(const signal4<arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>& s) : _signal_base4<arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type, arg2_type, arg3_type, arg4_type)) { lock_block<mt_policy> lock(this); _connection4<desttype, arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>* conn = new _connection4<desttype, arg1_type, arg2_type, arg3_type, arg4_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4); it = itNext; } } void operator()(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4); it = itNext; } } }; template<class arg1_type, class arg2_type, class arg3_type, class arg4_type, class arg5_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal5 : public _signal_base5<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy> { public: typedef _signal_base5<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal5() { ; } signal5(const signal5<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy>& s) : _signal_base5<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type, arg2_type, arg3_type, arg4_type, arg5_type)) { lock_block<mt_policy> lock(this); _connection5<desttype, arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy>* conn = new _connection5<desttype, arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4, a5); it = itNext; } } void operator()(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4, a5); it = itNext; } } }; template<class arg1_type, class arg2_type, class arg3_type, class arg4_type, class arg5_type, class arg6_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal6 : public _signal_base6<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy> { public: typedef _signal_base6<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal6() { ; } signal6(const signal6<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy>& s) : _signal_base6<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy>(s) { ; } template<class desttype> void connect(desttype* pclass, void (desttype::*pmemfun)(arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type)) { lock_block<mt_policy> lock(this); _connection6<desttype, arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy>* conn = new _connection6<desttype, arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, mt_policy>(pclass, pmemfun); m_connected_slots.push_back(conn); pclass->signal_connect(this); } void emit(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4, a5, a6); it = itNext; } } void operator()(arg1_type a1, arg2_type a2, arg3_type a3, arg4_type a4, arg5_type a5, arg6_type a6) { lock_block<mt_policy> lock(this); typename connections_list::const_iterator itNext, it = m_connected_slots.begin(); typename connections_list::const_iterator itEnd = m_connected_slots.end(); while(it != itEnd) { itNext = it; ++itNext; (*it)->emit(a1, a2, a3, a4, a5, a6); it = itNext; } } }; template<class arg1_type, class arg2_type, class arg3_type, class arg4_type, class arg5_type, class arg6_type, class arg7_type, class mt_policy = SIGSLOT_DEFAULT_MT_POLICY> class signal7 : public _signal_base7<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, arg7_type, mt_policy> { public: typedef _signal_base7<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, arg7_type, mt_policy> base; typedef typename base::connections_list connections_list; using base::m_connected_slots; signal7() { ; } signal7(const signal7<arg1_type, arg2_type, arg3_type, arg4_type, arg5_type, arg6_type, arg7_type, mt_policy>& s) : _signal_base7<arg1_type, arg2_type, arg3_type, arg4_type, arg5_typ
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -