Sdílet prostřednictvím


when_all funkce

Vytvoří, když všechny úkoly, které jsou zadány jako argumenty úspěšně dokončena úspěšně dokončí úkol.

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

template <
   typename _Iterator
>
auto when_all(
   _Iterator_Begin,
   _Iterator_End,
   cancellation_token _CancellationToken
) -> decltype (details::_WhenAllImpl<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ý úloha bude vytvořena s token, který je kombinací cancelable tokeny (tokeny vytvořené metodami než **cancellation_token::none()**úkolů poskytnuty.

Vrácená hodnota

Úkol, který úspěšně dokončí, když všechny vstupní úkoly byly úspěšně dokončeny.Pokud jsou vstupní úkoly typu T, bude výstup této funkce task<std::vector<T>>.Pokud jsou vstupní úkoly typu void výstup úloh bude také task<void>.

Poznámky

Pokud jeden z úkolů je zrušena nebo výjimku, vrácené úkolu bude dokončena včas, stav stornované výjimku, pokud je encoutered, bude být vyvolána při volání get() nebo wait() na ú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)