Boost logo

Boost :

Subject: [boost] BOOST_FOREACH not compiling with Multindex containers, Intel Compiler version 11
From: lipik (contact.lipik_at_[hidden])
Date: 2008-11-17 10:32:33


Hi,

I use boost.Multindex in my code, to simulate std::map. The code works fine on
VC++ 2003 and Intel Compiler 10, but after upgrading to ICL 11 (latest), I can't
use BOOST_FOREACH macros like so:
BOOST_FOREACH (const parameters_map::value_type &pv, params) {
}

The compiler throws up the following error:

.\interaction_request_handler.cpp(192): error: operand types are incompatible
("boost::foreach_detail_::rvalue_probe<const parameters_map>" and "const
parameters_map")
          BOOST_FOREACH (const parameters_map::value_type &pv, params) {

everything else compiles fine. I am guessing that some automatic conversion is
not being triggered in this compiler. Any hints as to what I can try tweaking to
get this to compile? Else I will just have to expand all FOREACH macros
manually...

I am using Boost 1.35, and would rather not be forced to upgrade just yet (since
I also use built components, and I remember it was quite time-consuming,
building the required components with Intel manually since bjam support for it
is spotty).

Thanks


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk