parallel_for_each işlevi
parallel_for_eachBelirtilen işlev paralel bir aralıktaki her öğe için geçerlidir.Anlam olarak eşdeğer for_each , işlev std ad alanı dışında bu yineleme öğeleri üzerinden paralel olarak gerçekleştirilir ve yineleme sırası belirtilmemiş.Bağımsız değişken _Func işlev çağrısı işleci formunun desteklemelidir operator()(T) burada parametresi T üzerinden iterated kapsayıcı öğe türü.
template <
typename _Iterator,
typename _Function
>
void parallel_for_each(
_Iterator_First,
_Iterator_Last,
const _Function& _Func
);
template <
typename _Iterator,
typename _Function,
typename _Partitioner
>
void parallel_for_each(
_Iterator_First,
_Iterator_Last,
const _Function& _Func,
_Partitioner&& _Part
);
Parametreler
_Iterator
Kapsayıcı üzerinde yineleme için kullanılan Yineleyici türü._Function
Aralıktaki her öğeye uygulanan işlev türü._Partitioner
_First
Paralel tekrarda dahil edilecek ilk öğenin konumunu adresleme bir yineleyici._Last
Paralel tekrarda dahil edilecek konum bir önceki son öğe adresleme bir yineleyici._Func
Aralıktaki her öğesine uygulanan kullanıcı tanımlı işlevin nesnesi._Part
Partitioner nesnesine bir başvuru.Bağımsız biri olabilir constauto_partitioner&, conststatic_partitioner&, constsimple_partitioner& veya affinity_partitioner& , bir affinity_partitioner nesnesi kullanıldığında, algoritma gelecekteki döngüleri yeniden kullanmak için durumu saklayabilmeniz const l-değeri başvuru, başvuru olmalıdır.
Notlar
auto_partitioner açık bir partitioner olmadan aşırı için kullanılır.
Yineleyicilerde desteklemeyen rasgele erişim, yalnızca için auto_partitioner desteklenir.
Daha fazla bilgi için bkz. Paralel algoritmalar.
Gereksinimler
Başlık: ppl.h
Namespace: eşzamanlılık