diff --git a/lemon/dijkstra.h b/lemon/dijkstra.h --- a/lemon/dijkstra.h +++ b/lemon/dijkstra.h @@ -1067,6 +1067,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. @@ -1079,7 +1081,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. @@ -1093,7 +1095,7 @@ DijkstraWizardBase(const GR &g,const LM &l, Node s=INVALID) : _g(reinterpret_cast(const_cast(&g))), _length(reinterpret_cast(const_cast(&l))), - _pred(0), _dist(0), _source(s) {} + _processed(0), _pred(0), _dist(0), _source(s) {} }; @@ -1172,8 +1174,12 @@ Dijkstra dij(*reinterpret_cast(Base::_g), *reinterpret_cast(Base::_length)); - if(Base::_pred) dij.predMap(*reinterpret_cast(Base::_pred)); - if(Base::_dist) dij.distMap(*reinterpret_cast(Base::_dist)); + if(Base::_processed) + dij.processedMap(*reinterpret_cast(Base::_processed)); + if(Base::_pred) + dij.predMap(*reinterpret_cast(Base::_pred)); + if(Base::_dist) + dij.distMap(*reinterpret_cast(Base::_dist)); dij.run(Base::_source); }