Boost logo

Boost Users :

From: Christian Henning (chhenning_at_[hidden])
Date: 2008-03-17 11:01:37


Thanks Pavol,

I was able to get my problem solved by using the split algorithm:

void reverse_word( iterator_range< string::iterator >& range )
{
   reverse( range.begin(), range.end() );
}

int _tmain(int argc, _TCHAR* argv[])
{
   string str( " Hello World" );

   typedef vector< iterator_range< string::iterator > > find_vector_type;
   find_vector_type vec;
   split( vec, str, is_any_of(" ") );

   for_each( vec.begin(), vec.end(), reverse_word );

   cout << str << endl;

        return 0;
}

But is there a way to use the split iterator? I wasn't able to create
one for my problem.

Thanks,
Christian

On Sat, Mar 15, 2008 at 4:15 PM, Pavol Droba <droba_at_[hidden]> wrote:
> Hi,
>
> You may try to use tokenization facilities in string_algo library.
> They have no such a limitation. You can tokenize with mutable iterators.
>
> Regards,
> Pavol.
>
>
> Christian Henning wrote:
> > Hi there, I would like to use the tokenizer to iterate through a
> > string of words and reverse them. Something like this:
> >
> > string str( " Hello World" );
> >
> > tokenizer<> tok(str);
> > for(tokenizer<>::iterator beg=tok.begin(); beg!=tok.end();++beg)
> > {
> > reverse( (*beg).begin(), (*beg).end() );
> > }
> >
> >
> > Why can't I get a mutable string iterator?
> >
> > Thanks,
> > Christian
> > _______________________________________________
> > Boost-users mailing list
> > Boost-users_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/boost-users
> >
> _______________________________________________
> Boost-users mailing list
> Boost-users_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net