[Lemon-commits] Peter Kovacs: Add missing tags and indicators

Lemon HG hg at lemon.cs.elte.hu
Wed Nov 5 09:12:08 CET 2008


details:   http://lemon.cs.elte.hu/hg/lemon/rev/75cf49ce5390
changeset: 372:75cf49ce5390
user:      Peter Kovacs <kpeter [at] inf.elte.hu>
date:      Tue Nov 04 21:36:46 2008 +0100
description:
	Add missing tags and indicators

diffstat:

4 files changed, 31 insertions(+), 1 deletion(-)
lemon/bits/traits.h |   26 ++++++++++++++++++++++++++
lemon/full_graph.h  |    2 ++
lemon/grid_graph.h  |    2 ++
lemon/smart_graph.h |    2 +-

diffs (93 lines):

diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/bits/traits.h
--- a/lemon/bits/traits.h	Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/bits/traits.h	Tue Nov 04 21:36:46 2008 +0100
@@ -218,6 +218,19 @@
   };
 
   template <typename Graph, typename Enable = void>
+  struct ArcNumTagIndicator {
+    static const bool value = false;
+  };
+
+  template <typename Graph>
+  struct ArcNumTagIndicator<
+    Graph,
+    typename enable_if<typename Graph::ArcNumTag, void>::type
+  > {
+    static const bool value = true;
+  };
+
+  template <typename Graph, typename Enable = void>
   struct EdgeNumTagIndicator {
     static const bool value = false;
   };
@@ -226,6 +239,19 @@
   struct EdgeNumTagIndicator<
     Graph,
     typename enable_if<typename Graph::EdgeNumTag, void>::type
+  > {
+    static const bool value = true;
+  };
+
+  template <typename Graph, typename Enable = void>
+  struct FindArcTagIndicator {
+    static const bool value = false;
+  };
+
+  template <typename Graph>
+  struct FindArcTagIndicator<
+    Graph,
+    typename enable_if<typename Graph::FindArcTag, void>::type
   > {
     static const bool value = true;
   };
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/full_graph.h
--- a/lemon/full_graph.h	Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/full_graph.h	Tue Nov 04 21:36:46 2008 +0100
@@ -306,6 +306,7 @@
     }
 
     typedef True NodeNumTag;
+    typedef True ArcNumTag;
     typedef True EdgeNumTag;
 
     int nodeNum() const { return _node_num; }
@@ -343,6 +344,7 @@
     }
 
     typedef True FindEdgeTag;
+    typedef True FindArcTag;
 
     Edge findEdge(Node u, Node v, Edge prev = INVALID) const {
       return prev != INVALID ? INVALID : edge(u, v);
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/grid_graph.h
--- a/lemon/grid_graph.h	Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/grid_graph.h	Tue Nov 04 21:36:46 2008 +0100
@@ -82,6 +82,7 @@
     }
 
     typedef True NodeNumTag;
+    typedef True EdgeNumTag;
     typedef True ArcNumTag;
 
     int nodeNum() const { return _node_num; }
@@ -127,6 +128,7 @@
     static Arc arcFromId(int id) { return Arc(id);}
 
     typedef True FindEdgeTag;
+    typedef True FindArcTag;
 
     Edge findEdge(Node u, Node v, Edge prev = INVALID) const {
       if (prev != INVALID) return INVALID;
diff -r 3fb8ed1322de -r 75cf49ce5390 lemon/smart_graph.h
--- a/lemon/smart_graph.h	Tue Nov 04 10:25:47 2008 +0000
+++ b/lemon/smart_graph.h	Tue Nov 04 21:36:46 2008 +0100
@@ -67,7 +67,7 @@
       : nodes(_g.nodes), arcs(_g.arcs) { }
 
     typedef True NodeNumTag;
-    typedef True EdgeNumTag;
+    typedef True ArcNumTag;
 
     int nodeNum() const { return nodes.size(); }
     int arcNum() const { return arcs.size(); }



More information about the Lemon-commits mailing list