TPIE

11a2c2d
tpie::pipelining::empty_pipe_middle Class Reference

#include <tpie/pipelining/pipe_base.h>

Inherits tpie::pipelining::bits::pipe_nonterm_base< empty_pipe_middle >.

Public Types

using constructed_type = typename constructed< dest_t >::type
 

Public Member Functions

 empty_pipe_middle (const empty_pipe_middle &)=delete
 
 empty_pipe_middle (empty_pipe_middle &&)=default
 
empty_pipe_middleoperator= (const empty_pipe_middle &)=delete
 
empty_pipe_middleoperator= (empty_pipe_middle &&)=default
 
template<typename fact_t >
pipe_middle< fact_t > operator| (pipe_middle< fact_t > &&r) const
 The pipe operator combines this generator/filter with another filter. More...
 
template<typename fact_t >
pipe_end< fact_t > operator| (pipe_end< fact_t > &&r) const
 This pipe operator combines this generator/filter with a terminator to make a pipeline. More...
 
constructed_type< dest_t > construct (const dest_t &dest)
 
empty_pipe_middle memory (double amount)
 Set memory fraction for this node in the pipeline phase. More...
 
double memory () const
 Get memory fraction for this node in the pipeline phase. More...
 
empty_pipe_middle name (const std::string &n, priority_type p=PRIORITY_USER)
 Set name for this node. More...
 
empty_pipe_middle phase_name (const std::string &n, priority_type p=PRIORITY_USER)
 Set name for this phase. More...
 
empty_pipe_middle add_to_set (node_set s)
 Get a refenerce to this node. More...
 
empty_pipe_middle add_dependencies (node_set s)
 Add a depencency to a referenced node. More...
 
empty_pipe_middle add_forwarding_dependencies (node_set s)
 Add a forwarding dependency to a referenced node. More...
 
empty_pipe_middle breadcrumb (const std::string &n)
 Set a prefix for the name of this node. More...
 
empty_pipe_middle forward_any (const std::string &key, any_noncopyable value)
 
empty_pipe_middle forward (const std::string &key, T value)
 

Protected Member Functions

empty_pipe_middleself ()
 
const empty_pipe_middleself () const
 

Detailed Description

A empty_pipe_middle class has no effect

Definition at line 307 of file pipe_base.h.

Member Function Documentation

◆ add_dependencies()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::add_dependencies ( node_set  s)
inlineinherited

Add a depencency to a referenced node.

See also
factory_base::ref

Definition at line 125 of file pipe_base.h.

125  {
126  self().factory.add_dependencies(s);
127  return std::move(self());
128  }

◆ add_forwarding_dependencies()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::add_forwarding_dependencies ( node_set  s)
inlineinherited

Add a forwarding dependency to a referenced node.

See also
factory_base::ref

Definition at line 135 of file pipe_base.h.

135  {
136  self().factory.add_forwarding_dependencies(s);
137  return std::move(self());
138  }

◆ add_to_set()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::add_to_set ( node_set  s)
inlineinherited

Get a refenerce to this node.

This reference can be used to call add_dependency on another node

See also
factory_base::ref

Definition at line 115 of file pipe_base.h.

115  {
116  self().factory.add_to_set(s);
117  return std::move(self());
118  }

◆ breadcrumb()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::breadcrumb ( const std::string &  n)
inlineinherited

Set a prefix for the name of this node.

The name is used in the GraphViz plot generated by pipeline::plot.

See also
factory_base::push_breadcrumb

Definition at line 147 of file pipe_base.h.

147  {
148  self().factory.push_breadcrumb(n);
149  return std::move(self());
150  }

◆ memory() [1/2]

double tpie::pipelining::bits::pipe_base< empty_pipe_middle >::memory
inlineinherited

Get memory fraction for this node in the pipeline phase.

See also
memory(double)
factory_base::memory()

Definition at line 74 of file pipe_base.h.

74  {
75  return self().factory.memory();
76  }

◆ memory() [2/2]

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::memory ( double  amount)
inlineinherited

Set memory fraction for this node in the pipeline phase.

In the absence of minimum and maximum memory requirements set by node implementations, the memory assigned to the node will be proportional to the amount parameter which sets the memory priority of this node in relation to the rest of the phase.

See also
factory_base::memory(double)

Definition at line 63 of file pipe_base.h.

63  {
64  self().factory.memory(amount);
65  return std::move(self());
66  }

◆ name()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::name ( const std::string &  n,
priority_type  p = PRIORITY_USER 
)
inlineinherited

Set name for this node.

The name is used in the GraphViz plot generated by pipeline::plot.

The name priority given in the second argument should indicate how important this node is for the current phase, and is used in naming the progress indicator for this phase. The node with the highest priority name gets to name the entire phase.

See also
factory_base::name

Definition at line 90 of file pipe_base.h.

90  {
91  self().factory.name(n, p);
92  return std::move(self());
93  }

◆ operator|() [1/2]

template<typename fact_t >
pipe_end<fact_t> tpie::pipelining::empty_pipe_middle::operator| ( pipe_end< fact_t > &&  r) const
inline

This pipe operator combines this generator/filter with a terminator to make a pipeline.

Definition at line 326 of file pipe_base.h.

326 {return std::move(r);}

◆ operator|() [2/2]

template<typename fact_t >
pipe_middle<fact_t> tpie::pipelining::empty_pipe_middle::operator| ( pipe_middle< fact_t > &&  r) const
inline

The pipe operator combines this generator/filter with another filter.

Definition at line 319 of file pipe_base.h.

319 {return std::move(r);}

◆ phase_name()

empty_pipe_middle tpie::pipelining::bits::pipe_base< empty_pipe_middle >::phase_name ( const std::string &  n,
priority_type  p = PRIORITY_USER 
)
inlineinherited

Set name for this phase.

The maximal priority phase name given for a phase wins.

See also
factory_base::phase_name

Definition at line 102 of file pipe_base.h.

102  {
103  self().factory.phase_name(n, p);
104  return std::move(self());
105  }

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