Changeset 1842:8abf74160dc4 in lemon-0.x for lemon/bits/extendable_graph_extender.h
- Timestamp:
- 12/01/05 16:08:46 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2396
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/extendable_graph_extender.h
r1820 r1842 31 31 32 32 template <typename _Base> 33 class ExtendableEdgeSetExtender : public _Base { 34 public: 35 36 typedef ExtendableEdgeSetExtender Graph; 37 typedef _Base Parent; 38 39 typedef typename Parent::Edge Edge; 40 typedef typename Parent::Node Node; 41 42 Edge addEdge(const Node& from, const Node& to) { 43 Edge edge = Parent::addEdge(from, to); 44 Parent::getNotifier(Edge()).add(edge); 45 return edge; 46 } 47 48 }; 49 50 template <typename _Base> 33 51 class ExtendableUndirGraphExtender : public _Base { 34 52 public: … … 46 64 return node; 47 65 } 66 67 UndirEdge addEdge(const Node& from, const Node& to) { 68 UndirEdge uedge = Parent::addEdge(from, to); 69 Parent::getNotifier(UndirEdge()).add(uedge); 70 71 std::vector<Edge> edges; 72 edges.push_back(Parent::direct(uedge, true)); 73 edges.push_back(Parent::direct(uedge, false)); 74 Parent::getNotifier(Edge()).add(edges); 75 76 return uedge; 77 } 78 79 }; 80 81 template <typename _Base> 82 class ExtendableUndirEdgeSetExtender : public _Base { 83 public: 84 85 typedef ExtendableUndirEdgeSetExtender Graph; 86 typedef _Base Parent; 87 88 typedef typename Parent::Node Node; 89 typedef typename Parent::Edge Edge; 90 typedef typename Parent::UndirEdge UndirEdge; 48 91 49 92 UndirEdge addEdge(const Node& from, const Node& to) {
Note: See TracChangeset
for help on using the changeset viewer.