Virtual chunk that has input and output.
More...
#include <tpie/pipelining/virtual.h>
Inherits tpie::pipelining::bits::virtual_chunk_base.
|
virt_node::ptr | m_node |
|
node_map::ptr | m_segmap |
|
double | m_memory |
|
template<typename Input, typename Output>
class tpie::pipelining::virtual_chunk< Input, Output >
Virtual chunk that has input and output.
Definition at line 276 of file virtual.h.
template<typename Input, typename Output>
Constructor that leaves the virtual chunk unassigned.
Definition at line 380 of file virtual.h.
template<typename Input, typename Output>
template<typename fact_t >
Constructor that recursively constructs a node and takes ownership of it.
Definition at line 390 of file virtual.h.
template<typename Input, typename Output>
template<typename Mid >
Constructor that combines two virtual chunks.
Assumes that the virtual nodes are already connected. You should not use this constructor directly; instead, use the pipe operator.
Definition at line 401 of file virtual.h.
405 m_src = acc::get_source(left);
406 m_recv = acc::get_destination(right);
static ptr combine(ptr left, ptr right)
Aggregate ownership of virt_nodes.
void tpie::pipelining::bits::pipeline_base::operator() |
( |
stream_size_type |
items, |
|
|
progress_indicator_base & |
pi, |
|
|
memory_size_type |
mem |
|
) |
| |
|
inherited |
template<typename Input, typename Output>
template<typename fact_t >
Construct a node and assign it to this virtual chunk.
Definition at line 413 of file virtual.h.
References tpie::pipelining::node::get_node_map(), tpie::log_error(), and tpie::pipelining::bits::virt_node::take_own().
415 log_error() <<
"Virtual chunk assigned twice" << std::endl;
418 typedef typename fact_t::template constructed<recv_type>::type constructed_type;
419 recv_type temp(m_recv);
420 m_src =
new bits::virtsrc_impl<constructed_type>(pipe.factory.construct(temp));
422 this->m_segmap = temp.get_node_map();
static ptr take_own(node *pipe)
Take std::new-ownership of given node.
logstream & log_error()
Return logstream for writing error log messages.
template<typename Input, typename Output>
template<typename NextOutput >
Connect this virtual chunk to another chunk.
Definition at line 431 of file virtual.h.
433 return *bits::assert_types_equal_and_return<Input, Output, virtual_chunk<Input, NextOutput> *>
436 m_recv->set_destination(acc::get_source(dest));
437 return virtual_chunk<Input, NextOutput>(*
this, dest);
template<typename Input, typename Output>
Connect this virtual chunk to another chunk.
Definition at line 443 of file virtual.h.
445 return *bits::assert_types_equal_and_return<Input, Output, virtual_chunk_end<Input> *>
448 m_recv->set_destination(acc::get_source(dest));
449 return virtual_chunk_end<Input>(*
this, dest);
void tpie::pipelining::bits::pipeline_base::plot |
( |
std::ostream & |
out | ) |
|
|
inherited |
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).
The documentation for this class was generated from the following file: