|
Boost : |
From: shunsuke (pstade.mb_at_[hidden])
Date: 2007-11-19 10:22:27
Dean Michael Berris wrote:
> * Boost.Range friendly versions of the STL algorithms -- although this
> may be coming up in C++0x, seeing a version of std::copy,
> std::transform, etc. that work with Boost.Range+Boost.Iterator combo's
> will be very welcome. A simple code case is:
>
> std::copy(
> boost::make_filter_iterator_range(
> is_even()
> ),
> boost::make_function_output_iterator(
> my_serializer()
> )
> );
You can try Oven
@ http://www.boost-consulting.com/vault/index.php?directory=Algorithms
Using it,
copy(your_rng|filtered(is_even()), applier(my_serializer());
> std::transform(
> boost::make_range(my_map),
> select<1>(),
> std::ostream_iterator<my_map::value_type::second_type>(std::cout)
> );
Using Oven,
copy(my_map|map_values, stream_writer(std::cout));
std::transform will be obsolete by range adaptors, IMO.
Regards,
-- Shunsuke Sogame
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk