[Lemon-commits] [lemon_svn] marci: r332 - hugo/trunk/src/work/marci

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


Author: marci
Date: Mon Mar 22 18:05:08 2004
New Revision: 332

Modified:
   hugo/trunk/src/work/marci/graph_wrapper.h

Log:
.


Modified: hugo/trunk/src/work/marci/graph_wrapper.h
==============================================================================
--- hugo/trunk/src/work/marci/graph_wrapper.h	(original)
+++ hugo/trunk/src/work/marci/graph_wrapper.h	Mon Mar 22 18:05:08 2004
@@ -240,88 +240,99 @@
 //     };
 //   };
 
-  template<typename /*Graph*/GraphWrapper
-  /*=typename GraphWrapperSkeleton< TrivGraphWrapper<Graph>*/ >
-  class RevGraphWrapper : 
-    public GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/ {
-  protected:
-    //Graph* graph;
+//   template<typename /*Graph*/GraphWrapper
+//   /*=typename GraphWrapperSkeleton< TrivGraphWrapper<Graph>*/ >
+//   class RevGraphWrapper : 
+//     public GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/ {
+//   protected:
+//     //Graph* graph;
     
-  public:
-    //typedef Graph BaseGraph;
+//   public:
+//     //typedef Graph BaseGraph;
 
-    //typedef typename Graph::Node Node;    
-    //typedef typename Graph::NodeIt NodeIt;
+//     //typedef typename Graph::Node Node;    
+//     //typedef typename Graph::NodeIt NodeIt;
   
-    //typedef typename Graph::Edge Edge;
-    typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::OutEdgeIt InEdgeIt;
-    typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::InEdgeIt OutEdgeIt;
-    //typedef typename Graph::SymEdgeIt SymEdgeIt;
-    //typedef typename Graph::EdgeIt EdgeIt;
+//     //typedef typename Graph::Edge Edge;
+//     typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::OutEdgeIt InEdgeIt;
+//     typedef typename GraphWrapper/*typename GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/::InEdgeIt OutEdgeIt;
+//     //typedef typename Graph::SymEdgeIt SymEdgeIt;
+//     //typedef typename Graph::EdgeIt EdgeIt;
 
-    //RevGraphWrapper() : graph(0) { }
-    RevGraphWrapper(GraphWrapper _gw/*BaseGraph& _graph*/) : GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/(_gw/*TrivGraphWrapper<Graph>(_graph)*/) { }
+//     //RevGraphWrapper() : graph(0) { }
+//     RevGraphWrapper(GraphWrapper _gw/*BaseGraph& _graph*/) : GraphWrapper/*GraphWrapperSkeleton< TrivGraphWrapper<Graph> >*/(_gw/*TrivGraphWrapper<Graph>(_graph)*/) { }
     
-    //void setGraph(Graph& _graph) { graph = &_graph; }
-    //Graph& getGraph() const { return (*graph); }
+//     //void setGraph(Graph& _graph) { graph = &_graph; }
+//     //Graph& getGraph() const { return (*graph); }
     
-    //template<typename I> I& first(I& i) const { return graph->first(i); }
-    //template<typename I, typename P> I& first(I& i, const P& p) const { 
-    //  return graph->first(i, p); }
+//     //template<typename I> I& first(I& i) const { return graph->first(i); }
+//     //template<typename I, typename P> I& first(I& i, const P& p) const { 
+//     //  return graph->first(i, p); }
 
-    //template<typename I> I getNext(const I& i) const { 
-    //  return graph->getNext(i); }
-    //template<typename I> I& next(I &i) const { return graph->next(i); }    
+//     //template<typename I> I getNext(const I& i) const { 
+//     //  return graph->getNext(i); }
+//     //template<typename I> I& next(I &i) const { return graph->next(i); }    
 
-    //template< typename It > It first() const { 
-    //  It e; first(e); return e; }
+//     //template< typename It > It first() const { 
+//     //  It e; first(e); return e; }
 
-    //template< typename It > It first(const Node& v) const { 
-    //  It e; first(e, v); return e; }
+//     //template< typename It > It first(const Node& v) const { 
+//     //  It e; first(e, v); return e; }
 
-    //Node head(const Edge& e) const { return graph->tail(e); }
-    //Node tail(const Edge& e) const { return graph->head(e); }
+//     //Node head(const Edge& e) const { return graph->tail(e); }
+//     //Node tail(const Edge& e) const { return graph->head(e); }
   
-    //template<typename I> bool valid(const I& i) const 
-    //  { return graph->valid(i); }
+//     //template<typename I> bool valid(const I& i) const 
+//     //  { return graph->valid(i); }
   
-    //template<typename I> void setInvalid(const I &i);
-    //{ return graph->setInvalid(i); }
+//     //template<typename I> void setInvalid(const I &i);
+//     //{ return graph->setInvalid(i); }
   
-    //template<typename I> Node aNode(const I& e) const { 
-    //  return graph->aNode(e); }
-    //template<typename I> Node bNode(const I& e) const { 
-    //  return graph->bNode(e); }
+//     //template<typename I> Node aNode(const I& e) const { 
+//     //  return graph->aNode(e); }
+//     //template<typename I> Node bNode(const I& e) const { 
+//     //  return graph->bNode(e); }
 
-    //Node addNode() const { return graph->addNode(); }
-    //Edge addEdge(const Node& tail, const Node& head) const { 
-    //  return graph->addEdge(tail, head); }
+//     //Node addNode() const { return graph->addNode(); }
+//     //Edge addEdge(const Node& tail, const Node& head) const { 
+//     //  return graph->addEdge(tail, head); }
   
-    //int nodeNum() const { return graph->nodeNum(); }
-    //int edgeNum() const { return graph->edgeNum(); }
+//     //int nodeNum() const { return graph->nodeNum(); }
+//     //int edgeNum() const { return graph->edgeNum(); }
   
-    //template<typename I> void erase(const I& i) const { graph->erase(i); }
+//     //template<typename I> void erase(const I& i) const { graph->erase(i); }
   
-    //void clear() const { graph->clear(); }
+//     //void clear() const { graph->clear(); }
 
-    template<typename T> class NodeMap : 
-      public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T> 
-    { 
-    public:
-      NodeMap(const RevGraphWrapper<GraphWrapper>& _gw) : 
-	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw) { }
-      NodeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) : 
-	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw, a) { }
-    };
-    
-    template<typename T> class EdgeMap : 
-      public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T> { 
-    public:
-      EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw) : 
-	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw) { }
-      EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) : 
-	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw, a) { }
-    };
+//     template<typename T> class NodeMap : 
+//       public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T> 
+//     { 
+//     public:
+//       NodeMap(const RevGraphWrapper<GraphWrapper>& _gw) : 
+// 	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw) { }
+//       NodeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) : 
+// 	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::NodeMap<T>(_gw, a) { }
+//     };
+    
+//     template<typename T> class EdgeMap : 
+//       public GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T> { 
+//     public:
+//       EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw) : 
+// 	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw) { }
+//       EdgeMap(const RevGraphWrapper<GraphWrapper>& _gw, T a) : 
+// 	GraphWrapper/*Skeleton< TrivGraphWrapper<Graph> >*/::EdgeMap<T>(_gw, a) { }
+//     };
+//   };
+
+
+  template<typename GraphWrapper>
+  class RevGraphWrapper : public GraphWrapperSkeleton<GraphWrapper> {
+  public:
+    typedef typename GraphWrapperSkeleton<GraphWrapper>::OutEdgeIt InEdgeIt;
+    typedef typename GraphWrapperSkeleton<GraphWrapper>::InEdgeIt OutEdgeIt;
+    
+    RevGraphWrapper(GraphWrapper _gw) : 
+      GraphWrapperSkeleton<GraphWrapper>(_gw) { }  
   };
 
 



More information about the Lemon-commits mailing list