ParallelForEachBody#
[req.parallel_for_each_body]
A type Body satisfies ParallelForBody if it meets the Function Objects requirements described in the [function.objects] section of the ISO C++ standard. It should also meet one of the following requirements:
ParallelForEachBody Requirements: Pseudo-Signature, Semantics
-
Body::operator()(ItemType item) const#
Process the received item.
-
Body::operator()(ItemType item, oneapi::tbb::feeder<ItemType> &feeder) const#
Process the received item. May invoke the
feeder.add(T)function to spawn additional items.
Note
ItemType may be optionally passed to Body::operator() by reference.
const and volatile type qualifiers are also applicable.
Terms#
iteratordetermines the type of the iterator passed into theparallel_for_eachalgorithm, which isdecltype(std::begin(c))for the overloads that accept theContainertemplate argument orInputIterator.value_type- the typestd::iterator_traits<iterator>::value_type.reference- the typestd::iterator_traits<iterator>::reference.
oneapi::tbb::parallel_for_each requires the Body::operator() call with an object of the reference type to be well-formed if
the iterator meets the Forward iterator requirements described in the [forward.iterators] section of the
ISO C++ Standard.
oneapi::tbb::parallel_for_each algorithm
requires the Body::operator() call with an object of type const value_type& or value_type&& to be well-formed if following requirements are met:
the iterator meets the Input iterator requirements described in the [input.iterators] section of the ISO C++ Standard
the iterator does not meet the Forward iterator requirements described in the [forward.iterators] section of the ISO C++ Standard
Caution
If the Body only takes non-const lvalue reference to the value_type, the requirements described above
are violated, and the program can be ill-formed.
Additional elements submitted into oneapi::tbb::parallel_for_each through the feeder::add are passed to the Body as rvalues. In this case, the corresponding
execution of the Body is required to be well-formed.
See also: