lemon/dijkstra.h
changeset 258 0310c8984732
parent 257 8d76a7bf9961
parent 251 a1ffc9099c25
child 278 931190050520
child 280 e7f8647ce760
     1.1 --- a/lemon/dijkstra.h	Mon Sep 01 22:00:40 2008 +0200
     1.2 +++ b/lemon/dijkstra.h	Tue Sep 09 20:52:45 2008 +0100
     1.3 @@ -1067,6 +1067,8 @@
     1.4      void *_g;
     1.5      //Pointer to the length map
     1.6      void *_length;
     1.7 +    //Pointer to the map of processed nodes.
     1.8 +    void *_processed;
     1.9      //Pointer to the map of predecessors arcs.
    1.10      void *_pred;
    1.11      //Pointer to the map of distances.
    1.12 @@ -1079,7 +1081,7 @@
    1.13  
    1.14      /// This constructor does not require parameters, therefore it initiates
    1.15      /// all of the attributes to default values (0, INVALID).
    1.16 -    DijkstraWizardBase() : _g(0), _length(0), _pred(0),
    1.17 +    DijkstraWizardBase() : _g(0), _length(0), _processed(0), _pred(0),
    1.18                             _dist(0), _source(INVALID) {}
    1.19  
    1.20      /// Constructor.
    1.21 @@ -1093,7 +1095,7 @@
    1.22      DijkstraWizardBase(const GR &g,const LM &l, Node s=INVALID) :
    1.23        _g(reinterpret_cast<void*>(const_cast<GR*>(&g))),
    1.24        _length(reinterpret_cast<void*>(const_cast<LM*>(&l))),
    1.25 -      _pred(0), _dist(0), _source(s) {}
    1.26 +      _processed(0), _pred(0), _dist(0), _source(s) {}
    1.27  
    1.28    };
    1.29  
    1.30 @@ -1172,8 +1174,12 @@
    1.31        Dijkstra<Digraph,LengthMap,TR>
    1.32          dij(*reinterpret_cast<const Digraph*>(Base::_g),
    1.33              *reinterpret_cast<const LengthMap*>(Base::_length));
    1.34 -      if(Base::_pred) dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
    1.35 -      if(Base::_dist) dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
    1.36 +      if(Base::_processed)
    1.37 +        dij.processedMap(*reinterpret_cast<ProcessedMap*>(Base::_processed));
    1.38 +      if(Base::_pred)
    1.39 +        dij.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
    1.40 +      if(Base::_dist)
    1.41 +        dij.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
    1.42        dij.run(Base::_source);
    1.43      }
    1.44