다음을 통해 공유


when_any 함수(C++ REST SDK)

인수로 제공된 모든 작업이 성공적으로 완료될 경우 완료되는 작업을 만듭니다.

경고

이 항목에서는 C++ REST SDK 1.0(코드명 "Casablanca")에 대해 설명합니다.Codeplex Casablanca 웹 페이지에서 다운로드한 최신 버전을 사용 중인 경우 http://casablanca.codeplex.com/documentation에서 로컬 설명서를 사용하세요.

template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    const task_options& _TaskOptions = task_options() ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_TaskOptions, _Begin, _End));  template<    typename _Iterator > auto when_any(    _Iterator_Begin,    _Iterator_End,    cancellation_token _CancellationToken ) -> decltype (details::_WhenAnyImpl<typename std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(_CancellationToken._GetImplValue(), _Begin, _End));

매개 변수

  • _Iterator
    입력 반복기의 형식입니다.

  • _Begin
    결과 작업으로 결합되는 요소 범위 내 첫 번째 요소의 위치입니다.

  • _End
    결과 작업으로 결합되는 요소 범위를 벗어나는 첫 번째 요소의 위치입니다.

  • _TaskOptions

  • _CancellationToken
    반환된 작업의 취소를 제어하는 취소 토큰입니다. 취소 토큰을 제공하지 않으면 결과 작업은 작업의 취소 토큰을 받으므로 완료됩니다.

반환 값

두 입력 작업 중 하나라도 성공적으로 완료되는 경우 완료되는 작업입니다. 입력 작업이 T 형식이면 이 함수의 출력은 **task<std::pair<T, size_t>>>**이 되며, 여기서 쌍의 첫 번째 요소는 완료되는 작업의 결과이고 두 번째 요소는 완료된 작업의 인덱스입니다. 입력 작업이 void 형식이면 출력은 **task<size_t>**이 됩니다. 여기서 결과는 완료되는 작업의 인덱스입니다.

요구 사항

헤더: pplxtasks.h

네임스페이스: pplx

참고 항목

참조

pplx 네임스페이스

개념

작업 병렬 처리(동시성 런타임)