Condividi tramite


Funzione when_any

Crea un'attività che completerà correttamente se una qualsiasi delle attività fornite come argomenti viene completato correttamente.

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));

Parametri

  • _Iterator
    Tipo di iteratore di input.

  • _Begin
    La posizione del primo elemento nell'ordine degli elementi da combinare nell'attività risultante.

  • _End
    La posizione del primo elemento oltre l'intervallo degli elementi da combinare nell'attività risultante.

  • _CancellationToken
    Il token di annullamento che gestisce l'annullamento dell'attività restituita.Se non viene fornito un token di annullamento, l'attività risultante riceverà il token di annullamento di un'attività che può essere causato da completare.

Valore restituito

Un'attività che viene completato correttamente quando una qualsiasi delle attività di input è stata completata.Se le attività di input sono di tipo T, l'output di questa funzione verrà task<std::pair<T, size_t>>>, in cui il primo elemento della coppia è il risultato dell'attività di completamento e il secondo elemento è l'indice dell'attività che ha completato.Se le attività di input sono di tipo void l'output è task<size_t>, dove il risultato è l'indice dell'attività di completamento.

Requisiti

intestazione: ppltasks.h

Concorrenza diSpazio dei nomi:

Vedere anche

Riferimenti

Spazio dei nomi concurrency

Concetti

Parallelismo delle attività (runtime di concorrenza)