Boost.Fiber when_all until first exception


when_all until first exception - 첫 번째 예외가 발생할 때까지

당연히 wait_first_outcome()과 마찬가지로 일반 T 대신 future< T >를 전달하여 wait_all_values() 및 wait_all_values_source()를 정교하게 만들 수 있습니다.

wait_all_until_error()는 future< T >를 팝하고 future::get()을 호출합니다. 예를 들어: 당연히 이것은 wait_all_until_error_source()에 대한 API를 복잡하게 만듭니다.   호출자는 future< T >를 검색하고 해당 get() 메서드를 호출해야 합니다.   물론, 암시적으로 get()을 수행하고 간단한 T(또는 throw)를 반환하는 대기열의 소비자 측에 대한 façade를 반환하는 것이 가능할 것입니다.

구현은 예상한 대로입니다.   그러나 queue 대신 nqueue를 전달하여 wait_first_outcome_impl()을 재사용할 수 있습니다. 예를 들어:

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