Boost logo

Boost :

From: David Abrahams (abrahams_at_[hidden])
Date: 2001-02-07 16:41:17

----- Original Message -----
From: <scleary_at_[hidden]>
To: <boost_at_[hidden]>
Sent: Wednesday, February 07, 2001 9:26 AM
Subject: RE: [boost] A horrifying Borland thought

> > 3) There are problem handling integral constant expressions, in
> > you must refer to integral constant expressions by their fully qualified
> > names, otherwise they are not recognised as such (I've sporadically had
> > this problem with VC6 as well).
> Another workaround I've found for this problem is to surround the integral
> constant expression with an extra set of parenthesis (the following code
> be a good example for your gotcha's page, John):

Is this a different page than the one Jens authored at

> In any case, it shouldn't be necessary to go the true_struct/false_struct
> route...

Okay, here's an example, highlighted by the current version of

      typedef typename boost::detail::if_true<(

   // else
>::type type;

It's got parens up the wazoo, I'm not trying to do is_convertible on classes
directly, but rather on the pointers. Have I forgotten anything?

Error E2034 ..\boost/iterator_adaptors.hpp 326: Cannot convert
'is_convertible<Traits::iterator_category *,std::forward_iterator_tag
*>::value' to 'bool'
Error E2034 ..\boost/iterator_adaptors.hpp 326: Cannot convert
'is_convertible<Traits::iterator_category *,std::input_iterator_tag
*>::value' to 'bool'
Error E2396 ..\boost/iterator_adaptors.hpp 326: Template argument must be a
constant expression
Error E2040 ..\boost/iterator_adaptors.hpp 327: Declaration terminated


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