Boost logo

Boost :

From: Daniel Frey (daniel.frey_at_[hidden])
Date: 2003-07-30 02:55:49

David Abrahams wrote:
> Matthias Troyer <troyer_at_[hidden]> writes:
>>The third patch (patch3) is a workaround for operators.hpp, since the
>>Boost PP library does not seem to work on the IBM. Is the preprocessor
>>library really needed for that name mangling:
>>#define BOOST_OPERATOR2_LEFT(name)
>> BOOST_PP_SEQ_CAT_S(1,(name)(2)(_)(left))
>>or couldn't the simple
>>#define BOOST_OPERATOR2_LEFT(name) name##2_left
>>be used which would make Boost more portable? If there are reasons why
>>the PP version is preferred? If there is a reason for the PP version
>>then could someone please apply the patch with the workaround?
> Done.

Looks good to me, too.

> Daniel, I also had to apply massive patching to accessibility in
> bool_testable. It fails on so many compilers that I begin to have
> doubts that making it private is legal. Could you check, please?

It seems to me that replacing the plain "operator bool()" by the
safe-bool-idiom in Wrapper1 caused the problems. This can't work, as
bool_testable tries to provide safe bool conversion, too, and both
idioms together are incompatible. In fact, bool_testable was meant to
replace the safe-bool-idiom, making it easier for users to write their
operator bool(). Maybe I should clarify this in the documentation to
prevent others from making the same error. Can you please correct it and
see if the problems you were seeing remain?

Regards, Daniel

Daniel Frey
aixigo AG - financial training, research and technology
Schloß-Rahe-Straße 15, 52072 Aachen, Germany
fon: +49 (0)241 936737-42, fax: +49 (0)241 936737-99
eMail: daniel.frey_at_[hidden], web:

Boost list run by bdawes at, gregod at, cpdaniel at, john at