Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 74393
Collapse All | Expand All

(-)graphviz-1.16.orig/dynagraph/common/emitGraph.h (-2 / +2 lines)
Lines 18-24 Link Here
18
template<typename G>
18
template<typename G>
19
void emitGraph(std::ostream &os,G *g) {
19
void emitGraph(std::ostream &os,G *g) {
20
  os << "digraph " << mquote(gd<Name>(g));
20
  os << "digraph " << mquote(gd<Name>(g));
21
  os << " {" << endl << "\tgraph ";
21
  os << " {" << std::endl << "\tgraph ";
22
  emitAttrs(os,gd<StrAttrs>(g));
22
  emitAttrs(os,gd<StrAttrs>(g));
23
  for(typename G::node_iter ni = g->nodes().begin(); ni!=g->nodes().end(); ++ni) {
23
  for(typename G::node_iter ni = g->nodes().begin(); ni!=g->nodes().end(); ++ni) {
24
    os << '\t' << mquote(gd<Name>(*ni)) << ' ';
24
    os << '\t' << mquote(gd<Name>(*ni)) << ' ';
Lines 44-50 Link Here
44
	Name &gname = (ati!=gd<StrAttrs>(g).end())?ati->second:gd<Name>(g);
44
	Name &gname = (ati!=gd<StrAttrs>(g).end())?ati->second:gd<Name>(g);
45
45
46
	os << "digraph " << mquote(gname);
46
	os << "digraph " << mquote(gname);
47
	os << " {" << endl << "\tgraph ";
47
	os << " {" << std::endl << "\tgraph ";
48
	emitAttrs(os,gd<StrAttrs>(g));
48
	emitAttrs(os,gd<StrAttrs>(g));
49
	for(typename G::node_iter ni = g->nodes().begin(); ni!=g->nodes().end(); ++ni) {
49
	for(typename G::node_iter ni = g->nodes().begin(); ni!=g->nodes().end(); ++ni) {
50
		StrAttrs::iterator ati = gd<StrAttrs>(*ni).find("label");
50
		StrAttrs::iterator ati = gd<StrAttrs>(*ni).find("label");
(-)graphviz-1.16.orig/dynagraph/common/LGraph-cdt.h (-2 / +2 lines)
Lines 232-241 Link Here
232
			return !(*this==other);
232
			return !(*this==other);
233
		}
233
		}
234
		inedge_iter inIter() {
234
		inedge_iter inIter() {
235
			return head()->inIter(this);
235
			return this->head()->inIter(this);
236
		}
236
		}
237
		outedge_iter outIter() {
237
		outedge_iter outIter() {
238
			return tail()->outIter(this);
238
			return this->tail()->outIter(this);
239
		}
239
		}
240
	};
240
	};
241
	// workaround for circular typing problems w/ friend decl: do not call!
241
	// workaround for circular typing problems w/ friend decl: do not call!
(-)graphviz-1.16.orig/dynagraph/common/traversal.h (-20 / +20 lines)
Lines 78-87 Link Here
78
	}
78
	}
79
	DFS &operator++() {
79
	DFS &operator++() {
80
		if(m_curr.e)
80
		if(m_curr.e)
81
			gd<Hit>(m_curr.e)[m_hitpos] = true;
81
			gd<Hit>(m_curr.e)[this->m_hitpos] = true;
82
		else {
82
		else {
83
			assert(m_curr.n);
83
			assert(m_curr.n);
84
			gd<Hit>(m_curr.n)[m_hitpos] = true;
84
			gd<Hit>(m_curr.n)[this->m_hitpos] = true;
85
		}
85
		}
86
		// try edges
86
		// try edges
87
		if(m_curr.n && follow())
87
		if(m_curr.n && follow())
Lines 143-152 Link Here
143
	}
143
	}
144
	bool outs(typename G::outedge_iter start) {
144
	bool outs(typename G::outedge_iter start) {
145
		for(typename G::outedge_iter ei = start; ei!=m_curr.n->outs().end(); ++ei)
145
		for(typename G::outedge_iter ei = start; ei!=m_curr.n->outs().end(); ++ei)
146
			if(!gd<Hit>(*ei)[m_hitpos]) {
146
			if(!gd<Hit>(*ei)[this->m_hitpos]) {
147
				m_stack.push(m_curr);
147
				m_stack.push(m_curr);
148
				m_curr.e = *ei;
148
				m_curr.e = *ei;
149
				if(!gd<Hit>(m_curr.e->head)[m_hitpos])
149
				if(!gd<Hit>(m_curr.e->head)[this->m_hitpos])
150
					m_curr.n = m_curr.e->head;
150
					m_curr.n = m_curr.e->head;
151
				else
151
				else
152
					m_curr.n = 0;
152
					m_curr.n = 0;
Lines 156-165 Link Here
156
	}
156
	}
157
	bool ins(typename G::inedge_iter start) {
157
	bool ins(typename G::inedge_iter start) {
158
		for(typename G::inedge_iter ei = start; ei!=m_curr.n->ins().end(); ++ei)
158
		for(typename G::inedge_iter ei = start; ei!=m_curr.n->ins().end(); ++ei)
159
			if(!gd<Hit>(*ei)[m_hitpos]) {
159
			if(!gd<Hit>(*ei)[this->m_hitpos]) {
160
				m_stack.push(m_curr);
160
				m_stack.push(m_curr);
161
				m_curr.e = *ei;
161
				m_curr.e = *ei;
162
				if(!gd<Hit>(m_curr.e->tail)[m_hitpos])
162
				if(!gd<Hit>(m_curr.e->tail)[this->m_hitpos])
163
					m_curr.n = m_curr.e->tail;
163
					m_curr.n = m_curr.e->tail;
164
				else
164
				else
165
					m_curr.n = 0;
165
					m_curr.n = 0;
Lines 180-187 Link Here
180
		return true;
180
		return true;
181
	}
181
	}
182
	bool next() {
182
	bool next() {
183
		for(;m_nodeiter!=m_g->parent->nodes().end();++m_nodeiter) 
183
		for(;m_nodeiter!=this->m_g->parent->nodes().end();++m_nodeiter) 
184
			if(!gd<Hit>(*m_nodeiter)[m_hitpos]) {
184
			if(!gd<Hit>(*m_nodeiter)[this->m_hitpos]) {
185
				m_curr.e = 0;
185
				m_curr.e = 0;
186
				m_curr.n = *m_nodeiter;
186
				m_curr.n = *m_nodeiter;
187
				m_nodeiter++;
187
				m_nodeiter++;
Lines 205-235 Link Here
205
		if(last.n) {
205
		if(last.n) {
206
			if(m_inwards) 
206
			if(m_inwards) 
207
				for(typename G::inedge_iter ei = last.n->ins().begin(); ei!=last.n->ins().end(); ++ei)
207
				for(typename G::inedge_iter ei = last.n->ins().begin(); ei!=last.n->ins().end(); ++ei)
208
					if(!gd<Hit>(*ei)[m_hitpos]) {
208
					if(!gd<Hit>(*ei)[this->m_hitpos]) {
209
						Node *t = (*ei)->tail;
209
						Node *t = (*ei)->tail;
210
						if(gd<Hit>(t)[m_hitpos])
210
						if(gd<Hit>(t)[this->m_hitpos])
211
							t = 0;
211
							t = 0;
212
						else
212
						else
213
							gd<Hit>(t)[m_hitpos] = true;
213
							gd<Hit>(t)[this->m_hitpos] = true;
214
						m_queue.push(V(*ei,t));
214
						m_queue.push(V(*ei,t));
215
						gd<Hit>(*ei)[m_hitpos] = true;
215
						gd<Hit>(*ei)[this->m_hitpos] = true;
216
					}
216
					}
217
			if(m_outwards) 
217
			if(m_outwards) 
218
				for(typename G::outedge_iter ei = last.n->outs().begin(); ei!=last.n->outs().end(); ++ei)
218
				for(typename G::outedge_iter ei = last.n->outs().begin(); ei!=last.n->outs().end(); ++ei)
219
					if(!gd<Hit>(*ei)[m_hitpos]) {
219
					if(!gd<Hit>(*ei)[this->m_hitpos]) {
220
						Node *h = (*ei)->head;
220
						Node *h = (*ei)->head;
221
						if(gd<Hit>(h)[m_hitpos])
221
						if(gd<Hit>(h)[this->m_hitpos])
222
							h = 0;
222
							h = 0;
223
						else
223
						else
224
							gd<Hit>(h)[m_hitpos] = true;
224
							gd<Hit>(h)[this->m_hitpos] = true;
225
						m_queue.push(V(*ei,h));
225
						m_queue.push(V(*ei,h));
226
						gd<Hit>(*ei)[m_hitpos] = true;
226
						gd<Hit>(*ei)[this->m_hitpos] = true;
227
					}
227
					}
228
		}
228
		}
229
		if(m_queue.empty())
229
		if(m_queue.empty())
230
			for(;m_nodeiter!=m_g->nodes().end(); ++m_nodeiter)
230
			for(;m_nodeiter!=this->m_g->nodes().end(); ++m_nodeiter)
231
				if(!gd<Hit>(*m_nodeiter)[m_hitpos]) {
231
				if(!gd<Hit>(*m_nodeiter)[this->m_hitpos]) {
232
					gd<Hit>(*m_nodeiter)[m_hitpos] = true;
232
					gd<Hit>(*m_nodeiter)[this->m_hitpos] = true;
233
					m_queue.push(V(0,*m_nodeiter++));
233
					m_queue.push(V(0,*m_nodeiter++));
234
					break;
234
					break;
235
				}
235
				}
Lines 241-247 Link Here
241
	BFS(G *g,typename G::Node *start = 0,bool inwards=true,bool outwards=true) : Traversal<G>(g),m_inwards(inwards),m_outwards(outwards) {
241
	BFS(G *g,typename G::Node *start = 0,bool inwards=true,bool outwards=true) : Traversal<G>(g),m_inwards(inwards),m_outwards(outwards) {
242
		m_nodeiter = start?g->iter(start):g->nodes().begin();
242
		m_nodeiter = start?g->iter(start):g->nodes().begin();
243
		if(m_nodeiter!=g->nodes().end()) {
243
		if(m_nodeiter!=g->nodes().end()) {
244
			gd<Hit>(*m_nodeiter)[m_hitpos] = true;
244
			gd<Hit>(*m_nodeiter)[this->m_hitpos] = true;
245
			m_queue.push(V(0,*m_nodeiter++));
245
			m_queue.push(V(0,*m_nodeiter++));
246
		}
246
		}
247
	}
247
	}
(-)graphviz-1.16.orig/dynagraph/dynadag/DynaDAG.h (-4 / +4 lines)
Lines 209-218 Link Here
209
		typename Chain<N,E>::edge_iter ei;
209
		typename Chain<N,E>::edge_iter ei;
210
	};
210
	};
211
	node_iter nBegin() {
211
	node_iter nBegin() {
212
		return node_iter(eBegin(),false);
212
		return node_iter(this->eBegin(),false);
213
	}
213
	}
214
	node_iter nEnd() {
214
	node_iter nEnd() {
215
		return node_iter(eEnd(),true);
215
		return node_iter(this->eEnd(),true);
216
	}
216
	}
217
	Position pos() {
217
	Position pos() {
218
		if(!top() || !DDd(top()).cur.valid)
218
		if(!top() || !DDd(top()).cur.valid)
Lines 220-229 Link Here
220
		return Position(DDd(top()).cur.x,(DDd(top()).cur.y+DDd(bottom()).cur.y)/2.0);
220
		return Position(DDd(top()).cur.x,(DDd(top()).cur.y+DDd(bottom()).cur.y)/2.0);
221
	}
221
	}
222
	N *top() {
222
	N *top() {
223
		return node?node:first->tail;
223
		return node?node:this->first->tail;
224
	}
224
	}
225
	N *bottom() {
225
	N *bottom() {
226
		return node?node:last->head;
226
		return node?node:this->last->head;
227
	}
227
	}
228
	int len() {
228
	int len() {
229
		int n=0;
229
		int n=0;

Return to bug 74393