File tree Expand file tree Collapse file tree 1 file changed +16
-15
lines changed
doc/main/reference/examples Expand file tree Collapse file tree 1 file changed +16
-15
lines changed Original file line number Diff line number Diff line change 2626int main () {
2727 std::vector<std::set<int >> sets;
2828
29- oneapi::tbb::parallel_reduce (oneapi::tbb::blocked_range<size_t >(0 , sets.size ()),
30- std::set<int >{}, // identity element - empty set
31- [&](const oneapi::tbb::blocked_range<size_t >& range, std::set<int >&& value) {
32- for (size_t i = range.begin (); i < range.end (); ++i) {
33- // Having value as a non-const rvalue reference allows to efficiently
34- // transfer nodes from sets[i] without copying/moving the data
35- value.merge (std::move (sets[i]));
36- }
37- return value;
38- },
39- [&](std::set<int >&& x, std::set<int >&& y) {
40- x.merge (std::move (y));
41- return x;
42- }
43- );
29+ oneapi::tbb::parallel_reduce (
30+ oneapi::tbb::blocked_range<size_t >(0 , sets.size ()),
31+ std::set<int >{}, // identity element - empty set
32+ [&](const oneapi::tbb::blocked_range<size_t >& range, std::set<int >&& value) {
33+ for (size_t i = range.begin (); i < range.end (); ++i) {
34+ // Having value as a non-const rvalue reference allows to efficiently
35+ // transfer nodes from sets[i] without copying/moving the data
36+ value.merge (std::move (sets[i]));
37+ }
38+ return value;
39+ },
40+ [&](std::set<int >&& x, std::set<int >&& y) {
41+ x.merge (std::move (y));
42+ return x;
43+ }
44+ );
4445}
4546/* end_rvalue_reduce_example*/
4647
You can’t perform that action at this time.
0 commit comments