Index: doc/Doxyfile
===================================================================
--- doc/Doxyfile	(revision 406)
+++ doc/Doxyfile	(revision 423)
@@ -400,9 +400,10 @@
                          ../src/include/bin_heap.h \
                          ../src/include/fib_heap.h \
+                         ../src/include/dimacs.h \
                          ../src/work/alpar/list_graph.h \
                          ../src/work/athos/xy/xy.h \
                          ../src/work/athos/minlengthpaths.h \
 			 ../src/work/marci/time_measure.h \
-			 ../src/work/marci/graph_wrapper.h
+			 ../src/work/marci/graph_wrapper.h	
                          
 
Index: src/include/dimacs.h
===================================================================
--- src/include/dimacs.h	(revision 423)
+++ src/include/dimacs.h	(revision 423)
@@ -0,0 +1,69 @@
+// -*- c++ -*-
+#ifndef HUGO_DIMACS_H
+#define HUGO_DIMACS_H
+
+#include <iostream>
+#include <string>
+#include <vector>
+
+namespace hugo {
+
+  /// Dimacs flow files.
+
+  /// This function reads a flow instance from dimacs flow format.
+  /// At the beginning \c g is destroyed by \c g.clear().
+  /// If the data coming from \c is is a max flow innstance, then 
+  /// \c s and \t will be respectively the source and target nodes 
+  /// and \c capacity will contain the edge capacities.
+  /// If the data is a shortest path problem then \c s will be the 
+  /// source node and \capacity will contain the edge lengths.
+  template<typename Graph, typename CapacityMap>
+  void readDimacsMaxFlow(std::istream& is, Graph &g, typename Graph::Node &s, typename Graph::Node &t, CapacityMap& capacity) {
+    g.clear();
+    int cap;
+    char d;
+    std::string problem;
+    char c;
+    int i, j;
+    std::string str;
+    int n, m; 
+    typename Graph::Edge e;
+    std::vector<typename Graph::Node> nodes;
+    while (is>>c) {
+      switch (c) {
+      case 'c': //comment
+	getline(is, str);
+	break;
+      case 'p': //problem definition
+	is >> problem >> n >> m;
+	getline(is, str);
+	nodes.resize(n+1);
+	for (int k=1; k<=n; ++k) nodes[k]=g.addNode();
+	break;
+      case 'n': //node definition
+	if (problem=="sp") { //shortest path problem
+	  is >> i;
+	  getline(is, str);
+	  s=nodes[i];
+	}
+	if (problem=="max") { //max flow problem
+	  is >> i >> d;
+	  getline(is, str);
+	  if (d=='s') s=nodes[i];
+	  if (d=='t') t=nodes[i];
+	}
+	break;
+      case 'a':
+	is >> i >> j >> cap;
+	getline(is, str);
+	e=g.addEdge(nodes[i], nodes[j]);
+	capacity.update();
+	capacity.set(e, cap);
+	break;
+      }
+    }
+  }
+  
+} //namespace hugo
+
+#endif //HUGO_DIMACS_H
Index: c/work/marci/dimacs.h
===================================================================
--- src/work/marci/dimacs.h	(revision 421)
+++ 	(revision )
@@ -1,69 +1,0 @@
-// -*- c++ -*-
-#ifndef HUGO_DIMACS_H
-#define HUGO_DIMACS_H
-
-#include <iostream>
-#include <string>
-#include <vector>
-
-namespace hugo {
-
-  /// Dimacs flow files.
-
-  /// This function reads a flow instance from dimacs flow format.
-  /// At the beginning \c g is destroyed by \c g.clear().
-  /// If the data coming from \c is is a max flow innstance, then 
-  /// \c s and \t will be respectively the source and target nodes 
-  /// and \c capacity will contain the edge capacities.
-  /// If the data is a shortest path problem then \c s will be the 
-  /// source node and \capacity will contain the edge lengths.
-  template<typename Graph, typename CapacityMap>
-  void readDimacsMaxFlow(std::istream& is, Graph &g, typename Graph::Node &s, typename Graph::Node &t, CapacityMap& capacity) {
-    g.clear();
-    int cap;
-    char d;
-    std::string problem;
-    char c;
-    int i, j;
-    std::string str;
-    int n, m; 
-    typename Graph::Edge e;
-    std::vector<typename Graph::Node> nodes;
-    while (is>>c) {
-      switch (c) {
-      case 'c': //comment
-	getline(is, str);
-	break;
-      case 'p': //problem definition
-	is >> problem >> n >> m;
-	getline(is, str);
-	nodes.resize(n+1);
-	for (int k=1; k<=n; ++k) nodes[k]=g.addNode();
-	break;
-      case 'n': //node definition
-	if (problem=="sp") { //shortest path problem
-	  is >> i;
-	  getline(is, str);
-	  s=nodes[i];
-	}
-	if (problem=="max") { //max flow problem
-	  is >> i >> d;
-	  getline(is, str);
-	  if (d=='s') s=nodes[i];
-	  if (d=='t') t=nodes[i];
-	}
-	break;
-      case 'a':
-	is >> i >> j >> cap;
-	getline(is, str);
-	e=g.addEdge(nodes[i], nodes[j]);
-	capacity.update();
-	capacity.set(e, cap);
-	break;
-      }
-    }
-  }
-  
-} //namespace hugo
-
-#endif //HUGO_DIMACS_H
