Sdílet prostřednictvím


when_any funkce

Vytvoří úkol, který bude úspěšně dokončen, když některý z úkolů dodávaný jako argumenty úspěšně dokončena.

template<
   typename _Iterator
>
auto when_any(
   _Iterator_Begin,
   _Iterator_End
) -> decltype (details::_WhenAnyImpl<std::iterator_traits<_Iterator>::value_type::result_type, _Iterator>::_Perform(nullptr, _Begin, _End));

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

Parametry

  • _Iterator
    Typ vstupního iterace.

  • _Begin
    První prvek pozice v rozsahu prvky do výsledné úkolu.

  • _End
    Pozice prvního prvku mimo oblast prvky do výsledné úkolu.

  • _CancellationToken
    Zrušení token, který řídí zrušení vrácené úkolu.Pokud nezadáte zrušení token, výsledný úkolu obdrží token zrušení úkolu, který způsobuje, že její dokončení.

Vrácená hodnota

Úkol, který úspěšně dokončí, kdy jeden vstupní úkolů byla úspěšně dokončena.Pokud jsou vstupní úkoly typu T, bude výstup této funkce task<std::pair<T, size_t>>>, kde je první prvek pár výsledek dokončení úkolu a druhý prvek je index pro dokončení úkolu.Pokud jsou vstupní úkoly typu void výstup je task<size_t>, kde výsledkem je index dokončení úkolu.

Požadavky

Záhlaví: ppltasks.h

Obor názvů: souběžnosti

Viz také

Referenční dokumentace

souběžnost oboru názvů

Koncepty

Úkol rovnoběžnosti (souběžnosti Runtime)