2014-06-10 4 views
2

boost::signal에 어떤 조건을 추가 할 수 있습니까? 그것은 몇 가지 부울 함수를 얻을 수 있습니다 그리고 내가 신호를 방출 할 때 함수가 true를 반환하고 방출하는지 확인해야합니다.`boost :: signal`에 어떤 조건을 추가 할 수 있습니까

많은 장소에서 방출되기 때문에 발광하는 동안 상태를 확인하고 싶지 않습니다. 나는 또한 그 상태에 대해 알지 않아야하기 때문에 슬롯의 상태를 확인하고 싶지 않습니다. 당신이 많은 곳에서 이런 식으로 신호를 방출해야하는 경우

답변

2

, 나는 그것을하는 방법을 추가합니다 :

void emitSignal() 
{ 
    if(/* condition */) { 
     _signal(); 
    } 
} 

다음 대신 직접 신호를 방출의 emitSignal()를 호출합니다.

2

어댑터으로 설계 할 것입니다. 이 어댑터에는 원래 신호를위한 슬롯이 있으며, 조건을 확인하고, 테스트가 통과하면 두 번째 신호를 내 보냅니다.

관련 문제