tbb::interface9::parallel_do_feeder< Item > Class Template Referenceabstract

Class the user supplied algorithm body uses to add new tasks. More...

`#include <parallel_do.h>`

Inheritance diagram for tbb::interface9::parallel_do_feeder< Item >:
Collaboration diagram for tbb::interface9::parallel_do_feeder< Item >:

## Public Member Functions

void | add (const Item &item)
| Add a work item to a running parallel_do. More...
void | add (Item &&item)

## Private Member Functions

| parallel_do_feeder ()
virtual | ~parallel_do_feeder ()
virtual void | internal_add_copy (const Item &item)=0
virtual void | internal_add_move (Item &&item)=0
Private Member Functions inherited from tbb::internal::no_copy
| no_copy (const no_copy &)=delete
| no_copy ()=default

## Friends

template<typename Body_ , typename Item_ >
class | internal::parallel_do_feeder_impl

## Detailed Description

### template<typename Item>
class tbb::interface9::parallel_do_feeder< Item >

Class the user supplied algorithm body uses to add new tasks.

Parameters

  Item | Work item type

Definition at line 40 of file parallel_do.h.

## Constructor & Destructor Documentation

## parallel_do_feeder()

template<typename Item>

tbb::interface9::parallel_do_feeder< Item >::parallel_do_feeder | ( |  | ) |

inline private

Definition at line 42 of file parallel_do.h.

{}

## ~parallel_do_feeder()

template<typename Item>

virtual tbb::interface9::parallel_do_feeder< Item >::~parallel_do_feeder | ( |  | ) |

inline private virtual

Definition at line 43 of file parallel_do.h.

{}

## Member Function Documentation

## add() [1/2]

template<typename Item>

void tbb::interface9::parallel_do_feeder< Item >::add | ( | const Item & | item | ) |

inline

Add a work item to a running parallel_do.

Definition at line 51 of file parallel_do.h.

{internal_add_copy(item);}

References tbb::interface9::parallel_do_feeder< Item >::internal_add_copy().

Here is the call graph for this function:

## add() [2/2]

template<typename Item>

void tbb::interface9::parallel_do_feeder< Item >::add | ( | Item && | item | ) |

inline

Definition at line 53 of file parallel_do.h.

{internal_add_move(std::move(item));}

References tbb::interface9::parallel_do_feeder< Item >::internal_add_move(), and tbb::move().

Here is the call graph for this function:

## internal_add_copy()

template<typename Item>

virtual void tbb::interface9::parallel_do_feeder< Item >::internal_add_copy | ( | const Item & | item | ) |

private pure virtual

Implemented in tbb::interface9::internal::parallel_do_feeder_impl< Body, Item >.

Referenced by tbb::interface9::parallel_do_feeder< Item >::add().

Here is the caller graph for this function:

## internal_add_move()

template<typename Item>

virtual void tbb::interface9::parallel_do_feeder< Item >::internal_add_move | ( | Item && | item | ) |

private pure virtual

Implemented in tbb::interface9::internal::parallel_do_feeder_impl< Body, Item >.

Referenced by tbb::interface9::parallel_do_feeder< Item >::add().

Here is the caller graph for this function:

## Friends And Related Function Documentation

## internal::parallel_do_feeder_impl

template<typename Item>
template<typename Body_ , typename Item_ >

friend class internal::parallel_do_feeder_impl

friend

Definition at line 48 of file parallel_do.h.

The documentation for this class was generated from the following file:

- parallel_do.h

tbb::interface9::parallel_do_feeder::internal_add_copy
virtual void internal_add_copy(const Item &item)=0
tbb::interface9::parallel_do_feeder::internal_add_move
virtual void internal_add_move(Item &&item)=0
tbb::move
void move(tbb_thread &t1, tbb_thread &t2)
Definition: tbb_thread.h:319

Copyright © 2005-2020 Intel Corporation. All Rights Reserved.

Intel, Pentium, Intel Xeon, Itanium, Intel XScale and VTune are registered trademarks or trademarks of Intel Corporation or its subsidiaries in the United States and other countries.

* Other names and brands may be claimed as the property of others.