Lines Matching refs:Body

36 template <typename Body, typename Range>
37 concept parallel_reduce_body = splittable<Body> &&
38 requires( Body& body, const Range& range, Body& rhs ) { in requires()
65 template<typename Body>
67 tbb::detail::aligned_space<Body> zombie_space;
68 Body& left_body;
71 …reduction_tree_node(node* parent, int ref_count, Body& input_left_body, small_object_allocator& al… in reduction_tree_node()
82 if( has_right_zombie ) zombie_space.begin()->~Body(); in ~reduction_tree_node()
88 template<typename Range, typename Body, typename Partitioner>
91 Body* my_body;
102 using tree_node_type = reduction_tree_node<Body>;
105 …start_reduce( const Range& range, Body& body, Partitioner& partitioner, small_object_allocator& al… in start_reduce()
137 …static void run(const Range& range, Body& body, Partitioner& partitioner, task_group_context& cont… in run()
146 static void run(const Range& range, Body& body, Partitioner& partitioner) { in run()
186 template<typename Range, typename Body, typename Partitioner>
187 void start_reduce<Range, Body, Partitioner>::finalize(const execution_data& ed) { in finalize()
199 template<typename Range, typename Body, typename Partitioner>
200 task* start_reduce<Range,Body,Partitioner>::execute(execution_data& ed) { in execute()
211 … my_body = static_cast<Body*>(new( parent_ptr->zombie_space.begin() ) Body(*my_body, split())); in execute()
223 template<typename Range, typename Body, typename Partitioner>
224 task* start_reduce<Range, Body, Partitioner>::cancel(execution_data& ed) { in cancel()
231 template<typename Body>
233 Body right_body;
234 Body& left_body;
236 …deterministic_reduction_tree_node(node* parent, int ref_count, Body& input_left_body, small_object… in deterministic_reduction_tree_node()
250 template<typename Range, typename Body, typename Partitioner>
253 Body& my_body;
263 using tree_node_type = deterministic_reduction_tree_node<Body>;
266 …start_deterministic_reduce( const Range& range, Partitioner& partitioner, Body& body, small_object… in start_deterministic_reduce()
274 …duce( start_deterministic_reduce& parent_, typename Partitioner::split_type& split_obj, Body& body, in start_deterministic_reduce()
281 …static void run(const Range& range, Body& body, Partitioner& partitioner, task_group_context& cont… in run()
291 static void run(const Range& range, Body& body, Partitioner& partitioner) { in run()
328 template<typename Range, typename Body, typename Partitioner>
329 void start_deterministic_reduce<Range, Body, Partitioner>::finalize(const execution_data& ed) { in finalize()
342 template<typename Range, typename Body, typename Partitioner>
343 task* start_deterministic_reduce<Range,Body,Partitioner>::execute(execution_data& ed) { in execute()
356 template<typename Range, typename Body, typename Partitioner>
357 task* start_deterministic_reduce<Range, Body, Partitioner>::cancel(execution_data& ed) { in cancel()
428 template<typename Range, typename Body>
429 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
430 void parallel_reduce( const Range& range, Body& body ) { in __TBB_requires()
431 …start_reduce<Range,Body, const __TBB_DEFAULT_PARTITIONER>::run( range, body, __TBB_DEFAULT_PARTITI… in __TBB_requires()
436 template<typename Range, typename Body>
437 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
438 void parallel_reduce( const Range& range, Body& body, const simple_partitioner& partitioner ) { in __TBB_requires()
439 start_reduce<Range,Body,const simple_partitioner>::run( range, body, partitioner ); in __TBB_requires()
444 template<typename Range, typename Body>
445 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
446 void parallel_reduce( const Range& range, Body& body, const auto_partitioner& partitioner ) { in __TBB_requires()
447 start_reduce<Range,Body,const auto_partitioner>::run( range, body, partitioner ); in __TBB_requires()
452 template<typename Range, typename Body>
453 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
454 void parallel_reduce( const Range& range, Body& body, const static_partitioner& partitioner ) { in __TBB_requires()
455 start_reduce<Range,Body,const static_partitioner>::run( range, body, partitioner ); in __TBB_requires()
460 template<typename Range, typename Body>
461 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
462 void parallel_reduce( const Range& range, Body& body, affinity_partitioner& partitioner ) { in __TBB_requires()
463 start_reduce<Range,Body,affinity_partitioner>::run( range, body, partitioner ); in __TBB_requires()
468 template<typename Range, typename Body>
469 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
470 void parallel_reduce( const Range& range, Body& body, task_group_context& context ) { in __TBB_requires()
471 …start_reduce<Range,Body,const __TBB_DEFAULT_PARTITIONER>::run( range, body, __TBB_DEFAULT_PARTITIO… in __TBB_requires()
476 template<typename Range, typename Body>
477 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
478 void parallel_reduce( const Range& range, Body& body, const simple_partitioner& partitioner, task_g… in __TBB_requires()
479 start_reduce<Range,Body,const simple_partitioner>::run( range, body, partitioner, context ); in __TBB_requires()
484 template<typename Range, typename Body>
485 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
486 void parallel_reduce( const Range& range, Body& body, const auto_partitioner& partitioner, task_gro… in __TBB_requires()
487 start_reduce<Range,Body,const auto_partitioner>::run( range, body, partitioner, context ); in __TBB_requires()
492 template<typename Range, typename Body>
493 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
494 void parallel_reduce( const Range& range, Body& body, const static_partitioner& partitioner, task_g… in __TBB_requires()
495 start_reduce<Range,Body,const static_partitioner>::run( range, body, partitioner, context ); in __TBB_requires()
500 template<typename Range, typename Body>
501 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
502 void parallel_reduce( const Range& range, Body& body, affinity_partitioner& partitioner, task_group… in __TBB_requires()
503 start_reduce<Range,Body,affinity_partitioner>::run( range, body, partitioner, context ); in __TBB_requires()
639 template<typename Range, typename Body>
640 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
641 void parallel_deterministic_reduce( const Range& range, Body& body ) { in __TBB_requires()
642 …start_deterministic_reduce<Range, Body, const simple_partitioner>::run(range, body, simple_partiti… in __TBB_requires()
647 template<typename Range, typename Body>
648 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
649 void parallel_deterministic_reduce( const Range& range, Body& body, const simple_partitioner& parti… in __TBB_requires()
650 … start_deterministic_reduce<Range, Body, const simple_partitioner>::run(range, body, partitioner); in __TBB_requires()
655 template<typename Range, typename Body>
656 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
657 void parallel_deterministic_reduce( const Range& range, Body& body, const static_partitioner& parti… in __TBB_requires()
658 … start_deterministic_reduce<Range, Body, const static_partitioner>::run(range, body, partitioner); in __TBB_requires()
663 template<typename Range, typename Body>
664 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
665 void parallel_deterministic_reduce( const Range& range, Body& body, task_group_context& context ) { in __TBB_requires()
666 …start_deterministic_reduce<Range,Body, const simple_partitioner>::run( range, body, simple_partiti… in __TBB_requires()
671 template<typename Range, typename Body>
672 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
673 void parallel_deterministic_reduce( const Range& range, Body& body, const simple_partitioner& parti… in __TBB_requires()
674 …start_deterministic_reduce<Range, Body, const simple_partitioner>::run(range, body, partitioner, c… in __TBB_requires()
679 template<typename Range, typename Body>
680 __TBB_requires(tbb_range<Range> && parallel_reduce_body<Body, Range>) in __TBB_requires() argument
681 void parallel_deterministic_reduce( const Range& range, Body& body, const static_partitioner& parti… in __TBB_requires()
682 …start_deterministic_reduce<Range, Body, const static_partitioner>::run(range, body, partitioner, c… in __TBB_requires()