Sdílet prostřednictvím


parallel_for – funkce

parallel_forIterace v rozsahu indexů a provede uživatelem zadané funkce v jednotlivých iteracích paralelně.

template <
   typename _Index_type,
   typename _Function,
   typename _Partitioner
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   _Index_type_Step,
   const _Function& _Func,
   _Partitioner&& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   _Index_type_Step,
   const _Function& _Func
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const auto_partitioner& _Part = auto_partitioner()
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const static_partitioner& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   const simple_partitioner& _Part
);

template <
   typename _Index_type,
   typename _Function
>
void parallel_for(
   _Index_type_First,
   _Index_type_Last,
   const _Function& _Func,
   affinity_partitioner& _Part
);

Parametry

  • _Index_type
    Typ indexu používán pro iteraci.

  • _Function
    Typ funkce, který bude spuštěn při každém opakování.

  • _Partitioner
    Typ partitioner, používaný oddíl zadaný rozsah.

  • _First
    První index mají být zahrnuty do iterace.

  • _Last
    Index jednu poslední indexu zahrnuty v iterace v minulosti.

  • _Step
    Hodnotu, podle níž krok při iterace z _First na _Last.Krok musí být kladná.invalid_argument je vyvolána při kroku je menší než 1.

  • _Func
    Funkce, které mají být provedeny při každém opakování.Může to být lambda výraz, ukazatel na funkci nebo libovolný objekt, který podporuje verzi operátor volání funkce s podpisem void operator()(_Index_type**)**.

  • _Part
    Odkaz na objekt partitioner.Argument může být jeden z constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& nebo affinity_partitioner& Pokud affinity_partitioner je použit objekt, odkaz musí být bez const l hodnota odkaz tak, aby algoritmus lze ukládat stav pro budoucí smyčky na opakované použití.

Poznámky

Další informace naleznete v tématu Paralelní algoritmy.

Požadavky

Záhlaví: ppl.h

Obor názvů: souběžnosti

Viz také

Referenční dokumentace

concurrency – obor názvů