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; } }
void disconnect( Y * obj, void (X::*func)( Param1 p1, Param2 p2 ) ) { _Delegate& eq = makeDelegate( obj, func ); for (DelegateIterator it = delegateList.begin(); it != delegateList.end(); ++it) if( *it == eq ) { delegateList.erase( it ); return; } }
void disconnect( _Delegate delegate ) { for (DelegateList::iterator it = delegateList.begin(); it != delegateList.end(); ++it) { if( *it == delegate ) { delegateList.erase( it ); return; } } }