Boost.Fiber when_any, heterogeneous types


when_any, heterogeneous types - 이기종 유형

다양한 작업 함수가 서로 다른 반환 유형을 갖는 경우를 무시하면 안 됩니다.   이는 첫 번째 항목에서 반환된 값이 해당 유형 중 하나를 가질 수 있음을 의미합니다.   'Boost.Variant'를 사용하여 이를 표현할 수 있습니다.

예제를 단순하게 유지하기 위해 이들 중 어느 것도 예외를 발생시킬 수 없는 척하는 것으로 되돌아가겠습니다.   이는 wait_first_value_het()이 wait_first_value()와 매우 유사하게 만듭니다.   우리는 실제로 wait_first_value_impl()을 재사용할 수 있으며, 단지 boost::variant를 공통 T가 아닌 대기열의 값 유형으로 전달하기만 하면 됩니다!

당연히 이것은 wait_first_success() 의미 체계를 대신 사용하도록 확장될 수 있습니다. 다음과 같이 호출될 수 있습니다.

⚛ 원문

Email 답글이 올라오면 이메일로 알려드리겠습니다.