1.1 --- a/lemon/dfs.h Fri Mar 02 17:56:22 2007 +0000
1.2 +++ b/lemon/dfs.h Fri Mar 02 18:04:28 2007 +0000
1.3 @@ -858,8 +858,8 @@
1.4 /// \param g is the initial value of \ref _g
1.5 /// \param s is the initial value of \ref _source
1.6 DfsWizardBase(const GR &g, Node s=INVALID) :
1.7 - _g((void *)&g), _reached(0), _processed(0), _pred(0),
1.8 - _dist(0), _source(s) {}
1.9 + _g(reinterpret_cast<void*>(const_cast<GR*>(&g))),
1.10 + _reached(0), _processed(0), _pred(0), _dist(0), _source(s) {}
1.11
1.12 };
1.13
1.14 @@ -933,11 +933,15 @@
1.15 void run()
1.16 {
1.17 if(Base::_source==INVALID) throw UninitializedParameter();
1.18 - Dfs<Graph,TR> alg(*(Graph*)Base::_g);
1.19 - if(Base::_reached) alg.reachedMap(*(ReachedMap*)Base::_reached);
1.20 - if(Base::_processed) alg.processedMap(*(ProcessedMap*)Base::_processed);
1.21 - if(Base::_pred) alg.predMap(*(PredMap*)Base::_pred);
1.22 - if(Base::_dist) alg.distMap(*(DistMap*)Base::_dist);
1.23 + Dfs<Graph,TR> alg(*reinterpret_cast<const Graph*>(Base::_g));
1.24 + if(Base::_reached)
1.25 + alg.reachedMap(*reinterpret_cast<ReachedMap*>(Base::_reached));
1.26 + if(Base::_processed)
1.27 + alg.processedMap(*reinterpret_cast<ProcessedMap*>(Base::_processed));
1.28 + if(Base::_pred)
1.29 + alg.predMap(*reinterpret_cast<PredMap*>(Base::_pred));
1.30 + if(Base::_dist)
1.31 + alg.distMap(*reinterpret_cast<DistMap*>(Base::_dist));
1.32 alg.run(Base::_source);
1.33 }
1.34
1.35 @@ -967,7 +971,7 @@
1.36 template<class T>
1.37 DfsWizard<DefPredMapBase<T> > predMap(const T &t)
1.38 {
1.39 - Base::_pred=(void *)&t;
1.40 + Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1.41 return DfsWizard<DefPredMapBase<T> >(*this);
1.42 }
1.43
1.44 @@ -988,7 +992,7 @@
1.45 template<class T>
1.46 DfsWizard<DefReachedMapBase<T> > reachedMap(const T &t)
1.47 {
1.48 - Base::_pred=(void *)&t;
1.49 + Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1.50 return DfsWizard<DefReachedMapBase<T> >(*this);
1.51 }
1.52
1.53 @@ -1009,7 +1013,7 @@
1.54 template<class T>
1.55 DfsWizard<DefProcessedMapBase<T> > processedMap(const T &t)
1.56 {
1.57 - Base::_pred=(void *)&t;
1.58 + Base::_pred=reinterpret_cast<void*>(const_cast<T*>(&t));
1.59 return DfsWizard<DefProcessedMapBase<T> >(*this);
1.60 }
1.61
1.62 @@ -1029,7 +1033,7 @@
1.63 template<class T>
1.64 DfsWizard<DefDistMapBase<T> > distMap(const T &t)
1.65 {
1.66 - Base::_dist=(void *)&t;
1.67 + Base::_dist=reinterpret_cast<void*>(const_cast<T*>(&t));
1.68 return DfsWizard<DefDistMapBase<T> >(*this);
1.69 }
1.70