tf::Pipe
taskflow/algorithm/pipeline.hpp
typename C std::function<void(tf::Pipeflow&)>
C using tf::Pipe< C >::callable_t = C callable_t tf::Pipe::callable_t

alias of the callable type

typename... Ps Ps
class friend class Pipeline Pipeline tf::Pipe::Pipeline Pipeline
typename P
class friend class ScalablePipeline ScalablePipeline tf::Pipe::ScalablePipeline ScalablePipeline
PipeType PipeType tf::Pipe< C >::_type _type tf::Pipe::_type
C C tf::Pipe< C >::_callable _callable tf::Pipe::_callable
tf::Pipe< C >::Pipe
()=default
Pipe
tf::Pipe::Pipe

default constructor

tf::Pipe< C >::Pipe
(PipeType d, C &&callable)
Pipe
tf::Pipe::Pipe
PipeType d
C && callable

constructs the pipe object

d

pipe type (tf::PipeType)

callable

callable type

The constructor constructs a pipe with the given direction (tf::PipeType::SERIAL or tf::PipeType::PARALLEL) and the given callable. The callable must take a referenced tf::Pipeflow object in the first argument.

    Pipe{PipeType::SERIAL,[](tf::Pipeflow&){}}

When creating a pipeline, the direction of the first pipe must be serial (tf::PipeType::SERIAL).

PipeType PipeType tf::Pipe< C >::type () const type tf::Pipe::type

queries the type of the pipe

Returns the type of the callable.

void void tf::Pipe< C >::type (PipeType type) type tf::Pipe::type PipeType type

assigns a new type to the pipe

type

a tf::PipeType variable

typename U
void void tf::Pipe< C >::callable (U &&callable) callable tf::Pipe::callable U && callable

assigns a new callable to the pipe

U

callable type

callable

a callable object constructible from std::function<void(tf::Pipeflow&)>

Assigns a new callable to the pipe with universal forwarding.

class to create a pipe object for a pipeline stage

C

callable type

A pipe represents a stage of a pipeline. A pipe can be either parallel direction or serial direction (specified by tf::PipeType) and is coupled with a callable to invoke by the pipeline scheduler. The callable must take a referenced tf::Pipeflow object in the first argument:

    Pipe{PipeType::SERIAL,[](tf::Pipeflow&){}}

The pipeflow object is used to query the statistics of a scheduling token in the pipeline, such as pipe, line, and token numbers.

- tf::Pipe
  _callable
- tf::Pipe
  _type
- tf::Pipe
  callable
- tf::Pipe
  callable_t
- tf::Pipe
  Pipe
- tf::Pipe
  Pipe
- tf::Pipe
  Pipeline
- tf::Pipe
  ScalablePipeline
- tf::Pipe
  type
- tf::Pipe
  type