Lines Matching refs:Iterator
209 template<typename Iterator, typename Body, typename Item>
213 …for_each_iteration_task(Iterator input_item_ptr, const Body& body, feeder_impl<Body, Item>* feeder… in for_each_iteration_task()
232 Iterator item_ptr;
322 template <typename Iterator, typename Body, typename Item>
326 using iteration_task = for_each_iteration_task<Iterator, Body, Item>;
328 forward_block_handling_task(Iterator first, std::size_t size,
384 template <typename Iterator, typename Body, typename Item>
386 Iterator my_first;
390 parallel_for_body_wrapper(Iterator first, const Body& body, feeder_impl<Body, Item>* feeder_ptr)
451 template <typename Body, typename Iterator, typename Item>
453 … std::declval<typename std::iterator_traits<Iterator>::reference>(),
457 template <typename Iterator, typename Body, typename Item, typename = void>
464 template <typename Iterator, typename Body, typename Item>
465 class feeder_holder<Iterator, Body, Item, feeder_is_required<Body, Iterator, Item>> {
475 template <typename Iterator, typename Body, typename Item>
478 …for_each_root_task_base(Iterator first, Iterator last, const Body& body, wait_context& w_context, …
490 Iterator my_first;
491 Iterator my_last;
495 feeder_holder<Iterator, Body, Item> my_feeder_holder;
501 template <typename Iterator, typename Body, typename Item, typename IteratorTag = iterator_tag_disp…
502 class for_each_root_task : public for_each_root_task_base<Iterator, Body, Item>
504 using base_type = for_each_root_task_base<Iterator, Body, Item>;
538 template <typename Iterator, typename Body, typename Item>
539 class for_each_root_task<Iterator, Body, Item, std::forward_iterator_tag>
540 : public for_each_root_task_base<Iterator, Body, Item>
542 using base_type = for_each_root_task_base<Iterator, Body, Item>;
547 using block_handling_type = forward_block_handling_task<Iterator, Body, Item>;
554 Iterator first_block_element = this->my_first;
574 template <typename Iterator, typename Body, typename Item>
575 class for_each_root_task<Iterator, Body, Item, std::random_access_iterator_tag>
576 : public for_each_root_task_base<Iterator, Body, Item>
578 using base_type = for_each_root_task_base<Iterator, Body, Item>;
585 …parallel_for_body_wrapper<Iterator, Body, Item>(this->my_first, this->my_body, this->my_feeder_hol…
611 template <typename Body, typename Iterator>
613 …or_each_body<Body, iterator_reference_type<Iterator>, feeder_item_type<Body, iterator_reference_ty…
622 template<typename Iterator, typename Body>
623 void run_parallel_for_each( Iterator first, Iterator last, const Body& body, task_group_context& co…
626 using ItemType = get_item_type<Body, typename std::iterator_traits<Iterator>::value_type>;
629 … for_each_root_task<Iterator, Body, ItemType> root_task(first, last, body, w_context, context);
659 template<typename Iterator, typename Body>
660 __TBB_requires(std::input_iterator<Iterator> && parallel_for_each_iterator_body<Body, Iterator>)
661 void parallel_for_each(Iterator first, Iterator last, const Body& body) {
663 run_parallel_for_each<Iterator, Body>(first, last, body, context);
680 template<typename Iterator, typename Body>
681 __TBB_requires(std::input_iterator<Iterator> && parallel_for_each_iterator_body<Body, Iterator>)
682 void parallel_for_each(Iterator first, Iterator last, const Body& body, task_group_context& context…
683 run_parallel_for_each<Iterator, Body>(first, last, body, context);