Thanks a lot both. Transform Iterator did the trick.
 
Kind regards,
 
John

On Nov 29, 2007 9:04 PM, Niels Aan de Brugh <niels@invalid.org> wrote:
On 2007-11-29, John Kiopela <john.kiopela@gmail.com> wrote:
>
> I have been browsing through the docs, but I couldn't find anything useful.
> Does Boost have a std::map<K, V>::iterator adaptor which iterates over the
> values of the map only.

What about using a boost::transform_iterator<>? Docs at:

  http://boost.org/libs/iterator/doc/transform_iterator.html

You'd have to supply it with a function object that returns the 'second'
member variable of the pair, e.g.

 struct get_pair_value
 {
     template< typename K, typename V >
     V operator()( std::pair< K, V > const& pr )
     { return pr.second; }
 };

Or you could use Boost.Lambda.

N.


_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users