Boost logo

Boost Users :

Subject: Re: [Boost-users] mpl documentation question
From: Robert Ramey (ramey_at_[hidden])
Date: 2012-04-07 15:05:00


Steven Watanabe wrote:
> AMDG
>
> On 04/07/2012 10:47 AM, Robert Ramey wrote:
>> Vicente J. Botet Escriba wrote:
>>> Le 07/04/12 09:13, Robert Ramey a écrit :
>>>> Documentation for mpl::less<T> has the following section:
>>>>
>>>>
>>>> typedef less<c1,c2> r; // a
>>>>
>>>> Return type:Integral Constant.
>>>> Semantics:Equivalent to
>>>> struct r : less<c1,c2>::type {}; //b
>>>>
>>>> if //a is used then the following yields bool_<true>
>>>>
>>>> is_same< less<c1, c2>, r>
>>>>
>>>> if // b is used then the following yields bool_<false>
>>>>
>>>> is_same< less<c1, c2>, r>
>>>>
>>>> So in what sense are //a and // b equivalent?
>>>>
>> <snip>
>> So you agree that the statement above (which appears in the
>> documentation)
>>
>>>> typedef less<c1,c2> r; // a
>>>>
>>>> Return type:Integral Constant.
>>>> Semantics:Equivalent to
>>>> struct r : less<c1,c2>::type {}; //b
>>
>> is incorrect and misleading?
>>
>> I'm thinking that it shouldn't even be in the documentation as
>> written. This raises the question as to what the documentation
>> should say
>> about the type "less<c1, c2>" ?
>>
>
> is_same doesn't work, but what you can
> use is mpl::equal_to. mpl::equal_to
> compares integral constants for equality
> without requiring the types to match
> exactly:
>
> equal_to<less<c1, c2>, r> -> mpl::true_

That's interesting and useful. So I guess my problem is with the usage
of the term "equivalent". I had interpreted this as "can be substituted
for".

So I'm now thinking that my original concern is justified - that the
document
doesn't accurately convey what "less<c1, c2>" really is. This has always
been confusing to me - and still is. I totally get what "less<c1, c2>::type"
is
supposed to mean but the meaning and intended usage of "less<c1, c2>"
is still lost on me.

>
> In Christ,
> Steven Watanabe


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net