[Lemon-commits] Peter Kovacs: Fix the usage of tags in adaptors....

Lemon HG hg at lemon.cs.elte.hu
Sun Jan 11 16:18:25 CET 2009


details:   http://lemon.cs.elte.hu/hg/lemon/rev/d369e885d196
changeset: 469:d369e885d196
user:      Peter Kovacs <kpeter [at] inf.elte.hu>
date:      Fri Dec 12 22:00:03 2008 +0100
description:
	Fix the usage of tags in adaptors.h (#67) There are separate tags
	for arcs and edges now.

diffstat:

1 file changed, 31 insertions(+), 18 deletions(-)
lemon/adaptors.h |   49 +++++++++++++++++++++++++++++++------------------

diffs (170 lines):

diff --git a/lemon/adaptors.h b/lemon/adaptors.h
--- a/lemon/adaptors.h
+++ b/lemon/adaptors.h
@@ -70,10 +70,10 @@
     typedef NodeNumTagIndicator<Digraph> NodeNumTag;
     int nodeNum() const { return _digraph->nodeNum(); }
 
-    typedef EdgeNumTagIndicator<Digraph> EdgeNumTag;
+    typedef ArcNumTagIndicator<Digraph> ArcNumTag;
     int arcNum() const { return _digraph->arcNum(); }
 
-    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
+    typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
       return _digraph->findArc(u, v, prev);
     }
@@ -198,14 +198,18 @@
     typedef NodeNumTagIndicator<Graph> NodeNumTag;
     int nodeNum() const { return _graph->nodeNum(); }
 
+    typedef ArcNumTagIndicator<Graph> ArcNumTag;
+    int arcNum() const { return _graph->arcNum(); }
+
     typedef EdgeNumTagIndicator<Graph> EdgeNumTag;
-    int arcNum() const { return _graph->arcNum(); }
     int edgeNum() const { return _graph->edgeNum(); }
 
-    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
+    typedef FindArcTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v, const Arc& prev = INVALID) {
       return _graph->findArc(u, v, prev);
     }
+
+    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
     Edge findEdge(const Node& u, const Node& v, const Edge& prev = INVALID) {
       return _graph->findEdge(u, v, prev);
     }
@@ -330,7 +334,7 @@
 
     Arc addArc(const Node& u, const Node& v) { return Parent::addArc(v, u); }
 
-    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
+    typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
                 const Arc& prev = INVALID) {
       return Parent::findArc(v, u, prev);
@@ -467,9 +471,9 @@
     bool hidden(const Arc& a) const { return !(*_arc_filter)[a]; }
 
     typedef False NodeNumTag;
-    typedef False EdgeNumTag;
+    typedef False ArcNumTag;
 
-    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
+    typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& source, const Node& target,
                 const Arc& prev = INVALID) {
       if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
@@ -610,9 +614,9 @@
     bool hidden(const Arc& e) const { return !(*_arc_filter)[e]; }
 
     typedef False NodeNumTag;
-    typedef False EdgeNumTag;
+    typedef False ArcNumTag;
 
-    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
+    typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(const Node& source, const Node& target,
                 const Arc& prev = INVALID) {
       if (!(*_node_filter)[source] || !(*_node_filter)[target]) {
@@ -935,9 +939,10 @@
     bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
 
     typedef False NodeNumTag;
+    typedef False ArcNumTag;
     typedef False EdgeNumTag;
 
-    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
+    typedef FindArcTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
                 const Arc& prev = INVALID) {
       if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
@@ -949,6 +954,8 @@
       }
       return arc;
     }
+
+    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
     Edge findEdge(const Node& u, const Node& v,
                   const Edge& prev = INVALID) {
       if (!(*_node_filter_map)[u] || !(*_node_filter_map)[v]) {
@@ -1131,9 +1138,10 @@
     bool hidden(const Edge& e) const { return !(*_edge_filter_map)[e]; }
 
     typedef False NodeNumTag;
+    typedef False ArcNumTag;
     typedef False EdgeNumTag;
 
-    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
+    typedef FindArcTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
                 const Arc& prev = INVALID) {
       Arc arc = Parent::findArc(u, v, prev);
@@ -1142,6 +1150,8 @@
       }
       return arc;
     }
+
+    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
     Edge findEdge(const Node& u, const Node& v,
                   const Edge& prev = INVALID) {
       Edge edge = Parent::findEdge(u, v, prev);
@@ -1846,11 +1856,14 @@
 
     typedef NodeNumTagIndicator<Digraph> NodeNumTag;
     int nodeNum() const { return 2 * _digraph->arcNum(); }
-    typedef EdgeNumTagIndicator<Digraph> EdgeNumTag;
+
+    typedef ArcNumTagIndicator<Digraph> ArcNumTag;
     int arcNum() const { return 2 * _digraph->arcNum(); }
+
+    typedef ArcNumTag EdgeNumTag;
     int edgeNum() const { return _digraph->arcNum(); }
 
-    typedef FindEdgeTagIndicator<Digraph> FindEdgeTag;
+    typedef FindArcTagIndicator<Digraph> FindArcTag;
     Arc findArc(Node s, Node t, Arc p = INVALID) const {
       if (p == INVALID) {
         Edge arc = _digraph->findArc(s, t);
@@ -1869,6 +1882,7 @@
       return INVALID;
     }
 
+    typedef FindArcTag FindEdgeTag;
     Edge findEdge(Node s, Node t, Edge p = INVALID) const {
       if (s != t) {
         if (p == INVALID) {
@@ -2224,10 +2238,10 @@
     typedef NodeNumTagIndicator<Graph> NodeNumTag;
     int nodeNum() const { return _graph->nodeNum(); }
 
-    typedef EdgeNumTagIndicator<Graph> EdgeNumTag;
+    typedef EdgeNumTagIndicator<Graph> ArcNumTag;
     int arcNum() const { return _graph->edgeNum(); }
 
-    typedef FindEdgeTagIndicator<Graph> FindEdgeTag;
+    typedef FindEdgeTagIndicator<Graph> FindArcTag;
     Arc findArc(const Node& u, const Node& v,
                 const Arc& prev = INVALID) {
       Arc arc = prev;
@@ -2884,17 +2898,16 @@
     }
 
     typedef True NodeNumTag;
-
     int nodeNum() const {
       return  2 * countNodes(*_digraph);
     }
 
-    typedef True EdgeNumTag;
+    typedef True ArcNumTag;
     int arcNum() const {
       return countArcs(*_digraph) + countNodes(*_digraph);
     }
 
-    typedef True FindEdgeTag;
+    typedef True FindArcTag;
     Arc findArc(const Node& u, const Node& v,
                 const Arc& prev = INVALID) const {
       if (inNode(u)) {



More information about the Lemon-commits mailing list