[Lemon-commits] [lemon_svn] deba: r2490 - hugo/trunk/lemon

Lemon SVN svn at lemon.cs.elte.hu
Mon Nov 6 20:53:04 CET 2006


Author: deba
Date: Fri Jan 27 15:18:11 2006
New Revision: 2490

Modified:
   hugo/trunk/lemon/traits.h

Log:
Add new ItemSetTraits for ANode and BNode



Modified: hugo/trunk/lemon/traits.h
==============================================================================
--- hugo/trunk/lemon/traits.h	(original)
+++ hugo/trunk/lemon/traits.h	Fri Jan 27 15:18:11 2006
@@ -93,6 +93,52 @@
 
   };
 
+
+  template <typename _Graph>
+  class ItemSetTraits<_Graph, typename _Graph::ANode> {
+  public:
+    
+    typedef _Graph Graph;
+
+    typedef typename Graph::ANode Item;
+    typedef typename Graph::ANodeIt ItemIt;
+
+    template <typename _Value>
+    class Map : public Graph::template ANodeMap<_Value> {
+    public:
+      typedef typename Graph::template ANodeMap<_Value> Parent; 
+      typedef typename Parent::Value Value;
+
+      Map(const Graph& _graph) : Parent(_graph) {}
+      Map(const Graph& _graph, const Value& _value) 
+	: Parent(_graph, _value) {}
+    };
+
+  };
+
+  template <typename _Graph>
+  class ItemSetTraits<_Graph, typename _Graph::BNode> {
+  public:
+    
+    typedef _Graph Graph;
+
+    typedef typename Graph::BNode Item;
+    typedef typename Graph::BNodeIt ItemIt;
+
+    template <typename _Value>
+    class Map : public Graph::template BNodeMap<_Value> {
+    public:
+      typedef typename Graph::template BNodeMap<_Value> Parent; 
+      typedef typename Parent::Value Value;
+
+      Map(const Graph& _graph) : Parent(_graph) {}
+      Map(const Graph& _graph, const Value& _value) 
+	: Parent(_graph, _value) {}
+    };
+
+  };
+
+
   template <typename Map, typename Enable = void>
   struct MapTraits {
     typedef False ReferenceMapTag;



More information about the Lemon-commits mailing list