8 #ifndef WIRECELL_GEN_PIPELINE 9 #define WIRECELL_GEN_PIPELINE 22 typedef std::queue<boost::any>
Pipe;
39 virtual Pipe& output_pipe() = 0;
46 virtual Pipe& input_pipe() = 0;
65 if (iq.empty()) {
return false; }
95 if (iq.empty()) {
return false; }
97 bool ok = (*node)(iq.front(), anyout);
98 if (!ok)
return false;
119 if (iq.empty()) {
return false; }
144 bool ok = (*node)(anyout);
145 if (!ok)
return false;
169 if (iq.empty()) {
return false; }
170 bool ok = (*node)(iq.front());
171 if (!ok)
return false;
202 if (iq.empty()) {
return false; }
204 bool ok = (*node)(iq.front(), anyq);
205 if (!ok)
return false;
207 for (
auto anyo : anyq) {
220 pipeline.push_back(src);
221 auto link =
new ShuntProc(dynamic_cast<SourceProc*>(src)->output_pipe(),
222 dynamic_cast<SinkProc*>(dst)->input_pipe());
223 pipeline.push_back(link);
std::vector< Proc * > Pipeline
virtual ~SourceNodeProc()
SinkNodeProc(node_pointer_t node)
virtual bool operator()()
virtual Pipe & output_pipe()
virtual ~QueuedNodeProc()
virtual bool operator()()=0
virtual Pipe & input_pipe()
WireCell::ISourceNodeBase node_t
virtual bool operator()()
virtual bool operator()()
WireCell::IQueuedoutNodeBase node_t
virtual Pipe & input_pipe()
virtual Pipe & input_pipe()
virtual bool operator()()
WireCell::ISinkNodeBase node_t
std::deque< boost::any > queuedany
QueuedNodeProc(node_pointer_t node)
virtual bool operator()()
Proc * join(Pipeline &pipeline, Proc *src, Proc *dst)
SourceNodeProc(node_pointer_t node)
std::shared_ptr< node_t > node_pointer_t
virtual Pipe & input_pipe()
WireCell::IFunctionNodeBase node_t
virtual Pipe & output_pipe()
std::shared_ptr< node_t > node_pointer_t
virtual bool operator()()
ShuntProc(Pipe &iq, Pipe &oq)
std::shared_ptr< node_t > node_pointer_t
FunctionNodeProc(node_pointer_t node)
std::queue< boost::any > Pipe
virtual Pipe & output_pipe()
virtual ~FunctionNodeProc()
virtual Pipe & output_pipe()
virtual Pipe & input_pipe()
std::shared_ptr< node_t > node_pointer_t