[Lemon-commits] [lemon_svn] alpar: r769 - hugo/trunk/src/hugo

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


Author: alpar
Date: Sun May  9 18:21:56 2004
New Revision: 769

Modified:
   hugo/trunk/src/hugo/list_graph.h
   hugo/trunk/src/hugo/smart_graph.h

Log:
Changes in the Maps' copy constructors.


Modified: hugo/trunk/src/hugo/list_graph.h
==============================================================================
--- hugo/trunk/src/hugo/list_graph.h	(original)
+++ hugo/trunk/src/hugo/list_graph.h	Sun May  9 18:21:56 2004
@@ -419,7 +419,8 @@
       ///\todo It can copy between different types.
       ///
       template<typename TT> NodeMap(const NodeMap<TT> &m) :
-	DynMapBase<Node>(*m.G)
+	DynMapBase<Node>(*m.G), container(m.container.size())
+
       {
 	G->dyn_node_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -511,7 +512,7 @@
       ///\todo It can copy between different types.
       ///
       template<typename TT> EdgeMap(const EdgeMap<TT> &m) :
-	DynMapBase<Edge>(*m.G)
+	DynMapBase<Edge>(*m.G), container(m.container.size())
       {
 	G->dyn_edge_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -662,7 +663,7 @@
       ///
 
       template<typename TT> SymEdgeMap(const SymEdgeMap<TT> &m) :
-	DynMapBase<SymEdge>(*m.G)
+	DynMapBase<SymEdge>(*m.G), container(m.container.size())
       {
 	G->dyn_node_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -1033,7 +1034,7 @@
       ///\todo It can copy between different types.
       ///
       template<typename TT> NodeMap(const NodeMap<TT> &m) :
-	DynMapBase<Node>(*m.G)
+	DynMapBase<Node>(*m.G), container(m.container.size())
       {
 	G->dyn_node_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -1555,7 +1556,7 @@
       ///\todo It can copy between different types.
       ///
       template<typename TT> EdgeMap(const EdgeMap<TT> &m) :
-	DynMapBase<Edge>(*m.G)
+	DynMapBase<Edge>(*m.G), container(m.container.size())
       {
 	G->dyn_edge_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;

Modified: hugo/trunk/src/hugo/smart_graph.h
==============================================================================
--- hugo/trunk/src/hugo/smart_graph.h	(original)
+++ hugo/trunk/src/hugo/smart_graph.h	Sun May  9 18:21:56 2004
@@ -63,7 +63,7 @@
     
   public:
     template <typename T> class EdgeMap;
-    template <typename T> class EdgeMap;
+    template <typename T> class NodeMap;
 
     class Node;
     class Edge;
@@ -307,9 +307,9 @@
       template<typename TT> friend class NodeMap;
  
       ///\todo It can copy between different types.
-      ///
+      ///\todo We could use 'copy'
       template<typename TT> NodeMap(const NodeMap<TT> &m) :
-	DynMapBase<Node>(*m.G)
+	DynMapBase<Node>(*m.G), container(m.container.size())
       {
 	G->dyn_node_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -398,9 +398,8 @@
       template<typename TT> friend class EdgeMap;
 
       ///\todo It can copy between different types.
-      ///
-      template<typename TT> EdgeMap(const EdgeMap<TT> &m) :
-	DynMapBase<Edge>(*m.G)
+      template<typename TT> EdgeMap(const EdgeMap<TT> &m)
+	: DynMapBase<Edge>(*m.G), container(m.container.size())
       {
 	G->dyn_edge_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -541,8 +540,8 @@
       ///\todo It can copy between different types.
       ///
 
-      template<typename TT> SymEdgeMap(const SymEdgeMap<TT> &m) :
-	DynMapBase<SymEdge>(*m.G)
+      template<typename TT> SymEdgeMap(const SymEdgeMap<TT> &m)
+	: DynMapBase<SymEdge>(*m.G), container(m.container.size())
       {
 	G->dyn_node_maps.push_back(this);
 	typename std::vector<TT>::const_iterator i;
@@ -613,4 +612,4 @@
 
 
 
-#endif //SMART_GRAPH_H
+#endif //HUGO_SMART_GRAPH_H



More information about the Lemon-commits mailing list