TPIE

2362a60
tpie::pipelining::bits::pipeline_base Class Reference

Virtual superclass for pipelines and subpipelines. More...

#include <tpie/pipelining/pipeline.h>

Inherits tpie::pipelining::bits::pipeline_base_base.

Inherited by tpie::pipelining::bits::pipeline_impl< fact_t >, and tpie::pipelining::bits::virtual_chunk_base.

Public Member Functions

void operator() (stream_size_type items, progress_indicator_base &pi, memory_size_type filesAvailable, memory_size_type mem, const char *file, const char *function)
 Invoke the pipeline. More...
 
void operator() (stream_size_type items, progress_indicator_base &pi, memory_size_type mem, const char *file, const char *function)
 Invoke the pipeline with amount of available files automatically configured. More...
 
double memory () const
 
void order_before (pipeline_base &other)
 
void plot (std::ostream &out)
 Generate a GraphViz plot of the pipeline. More...
 
void plot_full (std::ostream &out)
 Generate a GraphViz plot of the actor graph. More...
 
void forward_any (std::string key, any_noncopyable value)
 
bool can_fetch (std::string key)
 
any_noncopyablefetch_any (std::string key)
 
node_map::ptr get_node_map () const
 
void output_memory (std::ostream &o) const
 
size_t uid () const
 

Protected Attributes

double m_memory
 
node_map::ptr m_nodeMap
 
size_t m_uid
 

Detailed Description

Virtual superclass for pipelines and subpipelines.

Virtual superclass for pipelines implementing the function call operator.

Definition at line 110 of file pipeline.h.

Member Function Documentation

void tpie::pipelining::bits::pipeline_base::operator() ( stream_size_type  items,
progress_indicator_base pi,
memory_size_type  filesAvailable,
memory_size_type  mem,
const char *  file,
const char *  function 
)

Invoke the pipeline.

Referenced by operator()().

void tpie::pipelining::bits::pipeline_base::operator() ( stream_size_type  items,
progress_indicator_base pi,
memory_size_type  mem,
const char *  file,
const char *  function 
)
inline

Invoke the pipeline with amount of available files automatically configured.

Definition at line 123 of file pipeline.h.

References tpie::get_file_manager(), and operator()().

125  {
126  operator()(items, pi, get_file_manager().available(), mem, file, function);
127  }
void operator()(stream_size_type items, progress_indicator_base &pi, memory_size_type filesAvailable, memory_size_type mem, const char *file, const char *function)
Invoke the pipeline.
file_manager & get_file_manager()
Return a reference to the file manager.
void tpie::pipelining::bits::pipeline_base_base::plot ( std::ostream &  out)
inlineinherited

Generate a GraphViz plot of the pipeline.

When rendered with dot, GraphViz will place the nodes in the topological order of the item flow graph with items flowing from the top downwards.

Thus, a downwards arrow in the plot is a push edge, and an upwards arrow is a pull edge (assuming no cycles in the item flow graph).

Compared to plot_full, sorts, buffers and reversers will be represented as one node in the graph as apposed to 3 or 2. Nodes added by virtual wrapping will not be showed at all

Definition at line 65 of file pipeline.h.

65 {plot_impl(out, false);}
void tpie::pipelining::bits::pipeline_base_base::plot_full ( std::ostream &  out)
inlineinherited

Generate a GraphViz plot of the actor graph.

When rendered with dot, GraphViz will place the nodes in the topological order of the item flow graph with items flowing from the top downwards.

Thus, a downwards arrow in the plot is a push edge, and an upwards arrow is a pull edge (assuming no cycles in the item flow graph).

Definition at line 77 of file pipeline.h.

77 {plot_impl(out, true);}

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