Lines Matching refs:Item

38 template <typename Item>
51 template<typename Body, typename Item> class feeder_impl;
56 template<typename Item>
63 virtual void internal_add_copy(const Item& item) = 0;
64 virtual void internal_add_move(Item&& item) = 0;
69 void add(const Item& item) {internal_add_copy(item);} in add()
70 void add(Item&& item) {internal_add_move(std::move(item));} in add()
116 template<typename Body, typename Item>
118 using feeder_type = feeder_impl<Body, Item>;
160 Item item;
167 template<typename Body, typename Item>
168 class feeder_impl : public feeder<Item> {
170 void internal_add_copy_impl(std::true_type, const Item& item) { in internal_add_copy_impl()
171 using feeder_task = feeder_item_task<Body, Item>; in internal_add_copy_impl()
179 void internal_add_copy_impl(std::false_type, const Item&) { in internal_add_copy_impl() argument
183 void internal_add_copy(const Item& item) override { in internal_add_copy()
184 internal_add_copy_impl(typename std::is_copy_constructible<Item>::type(), item); in internal_add_copy()
187 void internal_add_move(Item&& item) override { in internal_add_move()
188 using feeder_task = feeder_item_task<Body, Item>; in internal_add_move()
209 template<typename Iterator, typename Body, typename Item>
211 using feeder_type = feeder_impl<Body, Item>;
213 …for_each_iteration_task(Iterator input_item_ptr, const Body& body, feeder_impl<Body, Item>* feeder… in for_each_iteration_task()
234 feeder_impl<Body, Item>* my_feeder_ptr;
240 template <typename Body, typename Item, typename = void>
244 using type = const Item*;
247 template <typename Body, typename Item>
248 struct input_iteration_task_iterator_helper<Body, Item,
250 … std::declval<Item&&>(),
251 … std::declval<feeder_impl<Body, Item>*>()))>>
253 using type = std::move_iterator<Item*>;
258 template <typename Body, typename Item>
262 using feeder_type = feeder_impl<Body, Item>;
263 …using iteration_task_iterator_type = typename input_iteration_task_iterator_helper<Body, Item>::ty…
264 using iteration_task = for_each_iteration_task<iteration_task_iterator_type, Body, Item>;
267 … const Body& body, feeder_impl<Body, Item>* feeder_ptr, small_object_allocator& alloc)
306 (block_iteration_space.begin() + counter)->~Item();
311 aligned_space<Item, max_block_size> block_iteration_space;
322 template <typename Iterator, typename Body, typename Item>
326 using iteration_task = for_each_iteration_task<Iterator, Body, Item>;
330 const Body& body, feeder_impl<Body, Item>* feeder_ptr,
384 template <typename Iterator, typename Body, typename Item>
388 feeder_impl<Body, Item>* my_feeder_ptr;
390 parallel_for_body_wrapper(Iterator first, const Body& body, feeder_impl<Body, Item>* feeder_ptr)
451 template <typename Body, typename Iterator, typename Item>
454 … std::declval<feeder<Item>&>()))>;
457 template <typename Iterator, typename Body, typename Item, typename = void>
461 feeder_impl<Body, Item>* feeder_ptr() { return nullptr; }
464 template <typename Iterator, typename Body, typename Item>
465 class feeder_holder<Iterator, Body, Item, feeder_is_required<Body, Iterator, Item>> {
470 feeder_impl<Body, Item>* feeder_ptr() { return &my_feeder; }
472 feeder_impl<Body, Item> my_feeder;
475 template <typename Iterator, typename Body, typename Item>
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>;
509 using block_handling_type = input_block_handling_task<Body, Item>;
525 new (block_iterator++) Item(*this->my_first);
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>;
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…
597 template<typename Body, typename Item, typename FeederArg>
598 auto feeder_argument_parser(void (Body::*)(Item, feeder<FeederArg>&) const) -> FeederArg;
602 template<typename Body, typename Item> Item get_item_type_impl(...); // stub
604 template <typename Body, typename Item>
605 using get_item_type = decltype(get_item_type_impl<Body, Item>(0));