Boost logo

Boost :

Subject: Re: [boost] [type_traits] extension has_operator_xxx - conforming to coding guidelines for ICE
From: Ioannis Papadopoulos (ipapadop_at_[hidden])
Date: 2011-02-03 18:16:25


On 02/03/2011 05:13 PM, Steven Watanabe wrote:
> AMDG
>
> On 2/3/2011 2:36 PM, Frédéric Bron wrote:
>> I have tried to comply with the coding guidelines for integral
>> constant expressions
>> (http://www.boost.org/development/int_const_guidelines.html).
>> I have been able to comply with most of them but still have the
>> following issue:
>>
>>> Don't use dependent default parameters for non-type template parameters.
>>> For example:
>>>
>>> template<class T, int I = ::boost::is_integral<T>::value> // Error
>>> can't deduce value of I in some cases.
>>> struct foobar;
>>>
>>> Rationale: this kind of usage fails for Borland C++. Note that this
>>> is only an issue where the default value is dependent upon a previous
>>> template parameter, for example the following is fine:
>>
>> Is there any known workaround for this? In my case, int is replaced by
>> bool but I think it is the same issue.
>>
>
> 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.
>
> In Christ,
> Steven Watanabe

I remember that xlC 10.1 had also similar problems in the past.


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