
Recently, I've implemented a simple utility which allows users to select the nth element of an STL pair / Boost.Tuple in conjunction with STL algorithms. This allows precisely the following usage semantics:
Hi, It would also be nice to make this work with transform_iterator. For example #include <boost/iterator/transform_iterator.hpp> std::list<boost::tuple<double, double, double> > coord_list; coord_list.push_back(boost::make_tuple(1.0, 2.0, 3.0)); coord_list.push_back(boost::make_tuple(4.0, 5.0, 6.0)); std::transform( boost::make_transform_iterator(coord_list.begin(),boost::select<0>()), boost::make_transform_iterator(coord_list.end(),boost::select<0>()), std::ostream_iterator<double>(std::cout, " ")); // output "1.0 4.0 " This would require your select functor conforming to result_of, and transform_iterator using it. Chris