Hi All
I tried to use BOOST_FOREACH with bimap but it doesn't compile.
What is wrong in using it the way is displayed below?
Reading the specs it should be able to work since bimap provide .begin() and .end() methods.
Thanks
CS

typedef boost::bimap<int,std::string >                        BMap;
typedef boost::bimap<int,std::string >::value_type      BMapVal;
typedef boost::bimap<int,std::string >::const_iterator  BMapKIt;


BMap myBimap;

myBimap.insert( BMapVal( 10, "hi") );
myBimap.insert( BMapVal( 20, "hihihi") );

BOOST_FOREACH( BMapKIt it, myBimap) // this line  doesnt' compile:
{
            std::cout   << "LEFT: "  << it->left 
                        << " RIGHT: " << it->right << std::endl;
}

TestBoost_Nov26.h:68: error: conversion from ‘boost::bimaps::relation::mutant_relation<boost::bimaps::tags::tagged<const int, boost::bimaps::relation::member_at::left>, boost::bimaps::tags::tagged<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::bimaps::relation::member_at::right>, mpl_::na, false>’ to non-scalar type ‘boost::bimaps::detail::set_view_iterator<boost::multi_index::detail::bidir_node_iterator<boost::multi_index::detail::ordered_index_node<boost::multi_index::detail::index_node_base<boost::bimaps::relation::mutant_relation<boost::bimaps::tags::tagged<const int, boost::bimaps::relation::member_at::left>, boost::bimaps::tags::tagged<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::bimaps::relation::member_at::right>, mpl_::na, true>, std::allocator<boost::bimaps::relation::mutant_relation<boost::bimaps::tags::tagged<const int, boost::bimaps::relation::member_at::left>, boost::bimaps::tags::tagged<const std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::bimaps::relation::member_at::right>, mpl_::na, true> > > > > >’ requested