Changeset 1820:22099ef840d7 in lemon-0.x for lemon/bits/extendable_graph_extender.h
- Timestamp:
- 11/21/05 18:48:00 (18 years ago)
- Branch:
- default
- Phase:
- public
- Convert:
- svn:c9d7d8f5-90d6-0310-b91f-818b3a526b0e/lemon/trunk@2370
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
lemon/bits/extendable_graph_extender.h
r1627 r1820 61 61 }; 62 62 63 64 template <typename _Base> 65 class ExtendableUndirBipartiteGraphExtender : public _Base { 66 public: 67 68 typedef _Base Parent; 69 typedef ExtendableUndirBipartiteGraphExtender Graph; 70 71 typedef typename Parent::Node Node; 72 typedef typename Parent::LowerNode LowerNode; 73 typedef typename Parent::UpperNode UpperNode; 74 typedef typename Parent::Edge Edge; 75 typedef typename Parent::UndirEdge UndirEdge; 76 77 Node addUpperNode() { 78 Node node = Parent::addUpperNode(); 79 Parent::getNotifier(UpperNode()).add(node); 80 Parent::getNotifier(Node()).add(node); 81 return node; 82 } 83 84 Node addLowerNode() { 85 Node node = Parent::addLowerNode(); 86 Parent::getNotifier(LowerNode()).add(node); 87 Parent::getNotifier(Node()).add(node); 88 return node; 89 } 90 91 UndirEdge addEdge(const Node& source, const Node& target) { 92 UndirEdge undiredge = Parent::addEdge(source, target); 93 Parent::getNotifier(UndirEdge()).add(undiredge); 94 95 std::vector<Edge> edges; 96 edges.push_back(Parent::direct(undiredge, true)); 97 edges.push_back(Parent::direct(undiredge, false)); 98 Parent::getNotifier(Edge()).add(edges); 99 100 return undiredge; 101 } 102 103 }; 104 63 105 } 64 106
Note: See TracChangeset
for help on using the changeset viewer.