$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
From: David Abrahams (dave_at_[hidden])
Date: 2006-03-08 07:59:23
"Andy Little" <andy_at_[hidden]> writes:
> FWIW Heres some sample code. Its seems a bit lopsided!
>
>  std::ofstream out("toolpath_out.txt");
>
>     BOOST_FOREACH(boost::shared_ptr<section> sp,vect){
>
>         if (sp->m_action == section::reverse){
>            for( std::vector<std::string>::reverse_iterator iter
>                 = sp->m_vector.rbegin();
>                     iter != sp->m_vector.rend();
>                         ++iter){
>                 out << *iter << '\n';
>             }
>         }
>         else {
>             BOOST_FOREACH(std::string str,sp->m_vector){
>                 out << str << '\n';
>             }
>         }
>     }
>
> Are there any plans for a BOOST_REVERSE_FOREACH?
I suggest you just make a nice reverse adaptor that models Range,
wrapping the underlying iterators in boost::reverse_iterator, and an
object generator that builds instances.  Then you can
   BOOST_FOREACH( whatever, reverse_view( the_sequence ) )
      ...
-- Dave Abrahams Boost Consulting www.boost-consulting.com