Boost logo

Boost :

Subject: [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-03 17:36:56

I have tried to comply with the coding guidelines for integral
constant expressions
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.


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