Boost logo

Boost Users :

Subject: Re: [Boost-users] [phoenix][phoenix3][MPL] incompatibility between MPL and Phoenix3
From: Alfredo Correa (alfredo.correa_at_[hidden])
Date: 2010-11-28 14:37:02


On Sun, Nov 28, 2010 at 4:12 AM, Thomas Heller
<thom.heller_at_[hidden]> wrote:
> alfC <alfredo.correa <at> gmail.com> writes:
>> Hi,
>>
>>  I decided to try Phoenix3. I looked up at a couple of examples and
>> since I use Boost.Units (which depends on Boost.MPL) heavily I tried
>> to mix both only to find out that there is an obscure incompatibility
>> between MPL and Phoenix3. The way to show this is just to compile the
>> phoenix3/.../function.cpp example
>>
>>
> https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/libs/phoenix/example/f
> unction.cpp
>>
>> with the following added line:
>>
>> #include<boost/mpl/multiplies.hpp>
>>
>> I get this error message:
>>
>> In file included from function.cpp:12:
>> /home/user/usr/include/boost/mpl/multiplies.hpp:38: error: wrong
>> number of template arguments (7, should be 5)
>> /home/user/usr/include/boost/mpl/aux_/preprocessed/gcc/times.hpp:68:
>> error: provided for ‘template<class N1, class N2, class N3, class N4,
>> class N5> struct boost::mpl::times’
>
> Thanks for the report. I just commited a fix.

I (svn) checked out revision 66827 and the problem is still there (?).

I am using this server
https://svn.boost.org/svn/boost/sandbox/SOC/2010/phoenix3/boost/phoenix

is there another one where you uploaded the fixes?

> The problematic code can be tested with for example this code:
>
> // This is needed to generate the mpl code.
> #define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
> // define to something which is not the default:
> // (default is 5)
> #define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 10
>
> #include <boost/mpl/multiplies.hpp>
> #include <boost/mpl/apply.hpp>

I found that including MPL hpps before phoenix hpps allows to compile
the example (not a real fix)


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net