[Lemon-commits] Peter Kovacs: Fix processedMap() named parameter...

Lemon HG hg at lemon.cs.elte.hu
Tue Sep 2 11:23:49 CEST 2008


details:   http://lemon.cs.elte.hu/hg/lemon/rev/a1ffc9099c25
changeset: 251:a1ffc9099c25
user:      Peter Kovacs <kpeter [at] inf.elte.hu>
date:      Tue Sep 02 00:44:17 2008 +0200
description:
	Fix processedMap() named parameter for dijkstra() (ticket #140)

diffstat:

1 file changed, 10 insertions(+), 4 deletions(-)
lemon/dijkstra.h |   14 ++++++++++----

diffs (45 lines):

diff -r f0b89f242745 -r a1ffc9099c25 lemon/dijkstra.h
--- a/lemon/dijkstra.h	Mon Aug 18 20:33:11 2008 +0200
+++ b/lemon/dijkstra.h	Tue Sep 02 00:44:17 2008 +0200
@@ -1068,6 +1068,8 @@
     void *_g;
     //Pointer to the length map
     void *_length;
+    //Pointer to the map of processed nodes.
+    void *_processed;
     //Pointer to the map of predecessors arcs.
     void *_pred;
     //Pointer to the map of distances.
@@ -1080,7 +1082,7 @@
 
     /// This constructor does not require parameters, therefore it initiates
     /// all of the attributes to default values (0, INVALID).
-    DijkstraWizardBase() : _g(0), _length(0), _pred(0),
+    DijkstraWizardBase() : _g(0), _length(0), _processed(0), _pred(0),
                            _dist(0), _source(INVALID) {}
 
     /// Constructor.
@@ -1094,7 +1096,7 @@
     DijkstraWizardBase(const GR &g,const LM &l, Node s=INVALID) :
       _g(reinterpret_cast<void*>(const_cast<GR*>(&g))),
       _length(reinterpret_cast<void*>(const_cast<LM*>(&l))),
-      _pred(0), _dist(0), _source(s) {}
+      _processed(0), _pred(0), _dist(0), _source(s) {}
 
   };
 
@@ -1173,8 +1175,12 @@
       Dijkstra<Digraph,LengthMap,TR>
         dij(*reinterpret_cast<const Digraph*>(Base::_g),
             *reinterpret_cast<const LengthMap*>(Base::_length));
-      if(Base::_pred) dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
-      if(Base::_dist) dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
+      if(Base::_processed)
+        dij.processedMap(*reinterpret_cast<ProcessedMap*>(Base::_processed));
+      if(Base::_pred)
+        dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
+      if(Base::_dist)
+        dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
       dij.run(Base::_source);
     }
 



More information about the Lemon-commits mailing list