コード例 #1
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void disconnect( _Delegate delegate )
	{
		for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it)
			if( *it == delegate )
			{
				delegateList.erase( it );
				return;
			}	}
コード例 #2
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void disconnect( Y * obj, void (X::*func)() const )
	{
		_Delegate& eq = makeDelegate( obj, func );
                for (DelegateList::iterator it = delegateList.begin(); it != delegateList.end(); ++it)
			if( *it == eq )
			{
				delegateList.erase( it );
				return;
			}
	}
コード例 #3
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void disconnect( Y * obj, void (X::*func)( Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8 ) const )
	{
		_Delegate& eq = makeDelegate( obj, func );
		for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it)
			if( *it == eq )
			{
				delegateList.erase( it );
				return;
			}
	}
コード例 #4
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void emit() const
	{
		for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it)
			(*it)();
	}
コード例 #5
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void emit( Param1 p1, Param2 p2, Param3 p3, Param4 p4, Param5 p5, Param6 p6, Param7 p7, Param8 p8 ) const
	{
		for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it)
                        (*it)( p1, p2, p3, p4, p5, p6, p7, p8 );
	}
コード例 #6
0
ファイル: oc3_signals.hpp プロジェクト: DarkLotus/opencaesar3
	void emit( Param1 p1, Param2 p2, Param3 p3, Param4 p4 ) const
	{
		for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it)
                    ( *it )( p1, p2, p3, p4 );
	}