MCPcopy Create free account
hub / github.com/Yaafe/Yaafe / append

Method append

src_cpp/yaafe-core/DataFlow.cpp:49–76  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

47{
48
49 void DataFlow::append(const DataFlow& df)
50 {
51 // merge library usage
52 m_libs.insert(df.m_libs.begin(),df.m_libs.end());
53 // append dataflow
54 NodeList fNodes = Graph<NodeDesc>::finalNodes();
55 const Graph<NodeDesc>& dfg = (const Graph<NodeDesc>&) df;
56 NodeList rNodes = dfg.rootNodes();
57 if (rNodes.size()==0)
58 {
59 cerr << "WARNING: appending empty dataflow ..." << endl;
60 return;
61 }
62 if (fNodes.size()>1)
63 {
64 cerr << "ERROR: try to append a dataflow to a dataflow having " << fNodes.size() << " final nodes !" << endl;
65 return;
66 }
67 map<Node*,Node*> mapping;
68 for (NodeListCIt it=rNodes.begin();it!=rNodes.end();it++)
69 {
70 Node* n = Graph<NodeDesc>::createNode((*it)->v);
71 if (fNodes.size()>0)
72 Graph<NodeDesc>::link(fNodes[0],"",n,"");
73 mapping[*it] = n;
74 }
75 mergeFlow(this,&dfg,mapping);
76 }
77
78
79 void DataFlow::merge(const DataFlow& df)

Callers 1

dataflow_appendFunction · 0.45

Calls 2

rootNodesMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected