Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2002-09-17 07:11:54


From: "John Maddock" <john_maddock_at_[hidden]>

> The new MPL code is now breaking all of the type traits test programs
with
> C++ Builder 6.
>
> First off there was a minor problem in integral_c.hpp caused by the
recent
> IBM C++ fixes (now fixed).

Yeah, but you broke the old EDG compilers with that fix. Fun, eh? ;-)

OK, I've checked in a possible fix for that one. Please look at it.

> However there is a more serious problem in if.hpp caused by the line:
>
> BOOST_MPL_AUX_VOID_SPEC(3, if_)

<snip>

> The problem here is the nested template inside the if_ class, Builder 6
> doesn't cope with default template parameters applied to template classes
> that are themselves template class members. The fix is to remove the
> default parameters and make sure that the apply template always gets
passed
> a full complement of parameters (it's only an implementation detail
right?),
> unfortunately you seem to be using this idiom quite a lot :-(
>
> Hoping you can fix this...

I just checked in a patch based on the precise wording you supply there. It
passes Borland 5.5.1 at least.
Please let me know if it works.

-Dave

-----------------------------------------------------------
           David Abrahams * Boost Consulting
dave_at_[hidden] * http://www.boost-consulting.com


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