Boost logo

Boost :

Subject: Re: [boost] [type_traits] extension has_operator_xxx - conforming to coding guidelines for ICE
From: Frédéric Bron (frederic.bron_at_[hidden])
Date: 2011-02-05 03:34:50

>> I have tried to comply with the coding guidelines for integral
>> constant expressions
>> (
> I personally ignore this page.  It was originally
> written for VC 6 and Borland 5.5 which are both
> pretty much irrelevant at this point.  Unless
> someone can confirm that these problems still
> exist in recent versions of Codegear, I vote that
> we remove this page.

I now comply with all the rules. It seems that VC++ has still some
issues with having logical operators in default values of bool
template parameters.

VC++ yields compile time error with:

template < T, bool B= expr1 and expr2 > struct foo;

When replacing 'and' by '&&' the error disappears.
When replacing 'expr1 and exp2' by 'ice_and<expr1, expr2>::value' it
also works and removes some warnings in g++.

So it seems that this coding requirements are still useful.

New version of the type_traits extension available here:
- vault unix:
- vault dos:
- sandbox:


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