Boost logo

Boost :

From: David Abrahams (dave_at_[hidden])
Date: 2003-01-04 18:01:36


"Jaap Suter" <J.Suter_at_[hidden]> writes:

>> > Is it possible that (under certain conditions) the following line:
>> >
>> > SNIP
>> >
>> > has a different type than this one:
>> >
>> > SNIP
>>
>> Uhm, in fact, these are always different:
>
> Mm, I still don't quite understand. Consider the following function:
>
> void foo( int_c< 0 > );
>
> Shouldn't the following code:
>
> foo( int_c< minus< int_c< 4 >, int_c< 4 > >::type > );
>
> Behave the same as this:
>
> foo( minus< int_c< 4 >, int_c< 4 > >::type );

We'd like it to. However, as Aleksey said, until we get typedef
templates, there's no way to make int_c<0> into the same type as
integral_c<int,0>. The result of

         minus< int_c< 4 >, int_c< 4 > >::type
is
        integral_c<int,0>

Aleksey will have to tell you why. Given the problems you're
experiencing, I'm not sure whether it's worth it.

-- 
                       David Abrahams
   dave_at_[hidden] * http://www.boost-consulting.com
Boost support, enhancements, training, and commercial distribution

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