Boost logo

Boost Users :

From: Pavol Droba (droba_at_[hidden])
Date: 2008-03-17 14:45:21


Hi Christian,

This should do the trick:

typedef split_iterator<string::iterator> string_split_iterator;
for(string_split_iterator It=
             make_split_iterator(str, token_finder(is_space(), token_compress_on);
     It!=string_split_iterator();
     ++It)
{
     reverse_word(*it)
}

Regards,
Pavol

Christian Henning wrote:
> 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 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