diff -r 096d83158d41 -r 81b47fc5c444 lemon/bfs.h --- a/lemon/bfs.h Fri Mar 02 17:56:22 2007 +0000 +++ b/lemon/bfs.h Fri Mar 02 18:04:28 2007 +0000 @@ -488,11 +488,11 @@ ///parameter should be initially false. /// ///\param target The target node. - ///\retval reached Indicates that the target node is reached. + ///\retval reach Indicates that the target node is reached. ///\return The processed node. /// ///\warning The queue must not be empty! - Node processNextNode(Node target, bool& reached) + Node processNextNode(Node target, bool& reach) { if(_queue_tail==_queue_next_dist) { _curr_dist++; @@ -507,7 +507,7 @@ _reached->set(m,true); _pred->set(m,e); _dist->set(m,_curr_dist); - reached = reached || (target == m); + reach = reach || (target == m); } return n; } @@ -521,12 +521,12 @@ ///should be initially false. /// ///\param nm The nodemaps of possible targets. - ///\retval reached Indicates that one of the target nodes is reached. + ///\retval reach Indicates that one of the target nodes is reached. ///\return The processed node. /// ///\warning The queue must not be empty! template - Node processNextNode(const NM& nm, bool& reached) + Node processNextNode(const NM& nm, bool& reach) { if(_queue_tail==_queue_next_dist) { _curr_dist++; @@ -541,7 +541,7 @@ _reached->set(m,true); _pred->set(m,e); _dist->set(m,_curr_dist); - reached = reached || nm[m]; + reached = reach || nm[m]; } return n; } @@ -604,8 +604,8 @@ /// void start(Node dest) { - bool reached = false; - while ( !emptyQueue() && !reached) processNextNode(dest, reached); + bool reach = false; + while ( !emptyQueue() && !reach) processNextNode(dest, reach); } ///Executes the algorithm until a condition is met. @@ -622,8 +622,8 @@ template void start(const NM &nm) { - bool reached = false; - while ( !emptyQueue() && !reached) processNextNode(nm, reached); + bool reach = false; + while ( !emptyQueue() && !reach) processNextNode(nm, reach); } ///Runs %BFS algorithm from node \c s. @@ -882,8 +882,8 @@ /// \param g is the initial value of \ref _g /// \param s is the initial value of \ref _source BfsWizardBase(const GR &g, Node s=INVALID) : - _g((void *)&g), _reached(0), _processed(0), _pred(0), - _dist(0), _source(s) {} + _g(reinterpret_cast(const_cast(&g))), + _reached(0), _processed(0), _pred(0), _dist(0), _source(s) {} }; @@ -957,12 +957,15 @@ void run() { if(Base::_source==INVALID) throw UninitializedParameter(); - Bfs alg(*(Graph*)Base::_g); + Bfs alg(*reinterpret_cast(Base::_g)); if(Base::_reached) - alg.reachedMap(*(ReachedMap*)Base::_reached); - if(Base::_processed) alg.processedMap(*(ProcessedMap*)Base::_processed); - if(Base::_pred) alg.predMap(*(PredMap*)Base::_pred); - if(Base::_dist) alg.distMap(*(DistMap*)Base::_dist); + alg.reachedMap(*reinterpret_cast(Base::_reached)); + if(Base::_processed) + alg.processedMap(*reinterpret_cast(Base::_processed)); + if(Base::_pred) + alg.predMap(*reinterpret_cast(Base::_pred)); + if(Base::_dist) + alg.distMap(*reinterpret_cast(Base::_dist)); alg.run(Base::_source); } @@ -992,7 +995,7 @@ template BfsWizard > predMap(const T &t) { - Base::_pred=(void *)&t; + Base::_pred=reinterpret_cast(const_cast(&t)); return BfsWizard >(*this); } @@ -1013,7 +1016,7 @@ template BfsWizard > reachedMap(const T &t) { - Base::_pred=(void *)&t; + Base::_pred=reinterpret_cast(const_cast(&t)); return BfsWizard >(*this); } @@ -1034,7 +1037,7 @@ template BfsWizard > processedMap(const T &t) { - Base::_pred=(void *)&t; + Base::_pred=reinterpret_cast(const_cast(&t)); return BfsWizard >(*this); } @@ -1055,7 +1058,7 @@ template BfsWizard > distMap(const T &t) { - Base::_dist=(void *)&t; + Base::_dist=reinterpret_cast(const_cast(&t)); return BfsWizard >(*this); } @@ -1404,11 +1407,11 @@ /// parameter should be initially false. /// /// \param target The target node. - /// \retval reached Indicates that the target node is reached. + /// \retval reach Indicates that the target node is reached. /// \return The processed node. /// /// \warning The queue must not be empty! - Node processNextNode(Node target, bool& reached) { + Node processNextNode(Node target, bool& reach) { Node n = _list[++_list_front]; _visitor->process(n); Edge e; @@ -1419,7 +1422,7 @@ _visitor->reach(m); _reached->set(m, true); _list[++_list_back] = m; - reached = reached || (target == m); + reach = reach || (target == m); } else { _visitor->examine(e); } @@ -1441,7 +1444,7 @@ /// /// \warning The queue must not be empty! template - Node processNextNode(const NM& nm, bool& reached) { + Node processNextNode(const NM& nm, bool& reach) { Node n = _list[++_list_front]; _visitor->process(n); Edge e; @@ -1452,7 +1455,7 @@ _visitor->reach(m); _reached->set(m, true); _list[++_list_back] = m; - reached = reached || nm[m]; + reach = reach || nm[m]; } else { _visitor->examine(e); } @@ -1499,9 +1502,9 @@ /// \pre init() must be called and at least one node should be added /// with addSource() before using this function. void start(Node dest) { - bool reached = false; - while (!emptyQueue() && !reached) { - processNextNode(dest, reached); + bool reach = false; + while (!emptyQueue() && !reach) { + processNextNode(dest, reach); } } @@ -1517,9 +1520,9 @@ /// nm[v] true. template void start(const NM &nm) { - bool reached = false; - while (!emptyQueue() && !reached) { - processNextNode(nm, reached); + bool reach = false; + while (!emptyQueue() && !reach) { + processNextNode(nm, reach); } }