Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2004-07-14 17:23:58

Toon Knapen wrote:

> David Abrahams wrote:
>> Ultimately I think the right answer is to use
>> mpl::integral_c<some_type, some_value>
>> or
>> mpl::bool_<some_value>
>> etc.
>> everywhere as Paul Mensonides suggested. One reason is that it
>> centralizes the out-of-line static member definitions.
> I tried this (in the algorithm/string library where I also tested the
> enum trick for Pavol Droba) and just replaced in
> algorithm/string/std/string_traits.hpp following lines
> enum { value = false } ;
> typedef mpl::bool_< value > type ;
> with
> typedef mpl::bool_< false > value ;
> typedef mpl::bool_< value > type ;
> and this evidently results in a compilation error.

Doesn't surprise me. You can't just replace an integral constant with a

> I am not very fluent
> in mpl but AFAICT this seems like a nice solution but not exactly a
> drop-in replacement for the current situation.

Not if you do that! I must've failed to make the 2nd half of my posting

I don't know how to make it more comprehensible other than to say,
"please try what I suggested in the 2nd half of my posting". I guess I
can also say that bool_< x > has a nested static bool constant ::value
equal to x.

Dave Abrahams
Boost Consulting

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