# HG changeset patch
# User Balazs Dezso <deba@inf.elte.hu>
# Date 1215698603 -7200
# Node ID e3aba2c72be4499ade5628680b74f8f5c1ad802d
# Parent e80e08222fdf7808460dffd57a003b595d0098da
Bug fix in GraphCopy (ticket #117)
diff -r e80e08222fdf -r e3aba2c72be4 lemon/graph_utils.h
|
a
|
b
|
|
| 602 | 602 | } |
| 603 | 603 | for (typename From::ArcIt it(from); it != INVALID; ++it) { |
| 604 | 604 | arcRefMap[it] = to.addArc(nodeRefMap[from.source(it)], |
| 605 | | nodeRefMap[from.target(it)]); |
| | 605 | nodeRefMap[from.target(it)]); |
| 606 | 606 | } |
| 607 | 607 | } |
| 608 | 608 | }; |
| … |
… |
|
| 628 | 628 | nodeRefMap[it] = to.addNode(); |
| 629 | 629 | } |
| 630 | 630 | for (typename From::EdgeIt it(from); it != INVALID; ++it) { |
| 631 | | edgeRefMap[it] = to.addArc(nodeRefMap[from.source(it)], |
| 632 | | nodeRefMap[from.target(it)]); |
| | 631 | edgeRefMap[it] = to.addEdge(nodeRefMap[from.u(it)], |
| | 632 | nodeRefMap[from.v(it)]); |
| 633 | 633 | } |
| 634 | 634 | } |
| 635 | 635 | }; |
| … |
… |
|
| 925 | 925 | typedef typename To::Arc Value; |
| 926 | 926 | |
| 927 | 927 | Value operator[](const Key& key) const { |
| 928 | | bool forward = |
| 929 | | (_from.direction(key) == |
| 930 | | (_node_ref[_from.source(key)] == _to.source(_edge_ref[key]))); |
| | 928 | bool forward = _from.u(key) != _from.v(key) ? |
| | 929 | _node_ref[_from.source(key)] == |
| | 930 | _to.source(_to.direct(_edge_ref[key], true)) : |
| | 931 | _from.direction(key); |
| 931 | 932 | return _to.direct(_edge_ref[key], forward); |
| 932 | 933 | } |
| 933 | 934 | |