Boost logo

Boost Users :

Subject: Re: [Boost-users] [boost] [Review] Type Traits Introspection library by Edward Diener starts tomorrow Friday 1
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-07-16 20:00:22


On 7/16/2011 4:05 PM, Frédéric Bron wrote:
>>> . BOOST_TTI_HAS_TEMPLATE, BOOST_TTI_VM_HAS_TEMPLATE_CHECK_PARAMS
>>> and BOOST_TTI_HAS_TEMPLATE_CHECK_PARAMS: not clear from the table what
>>> it checks for. Is there a class inside T that is declared templaste<
>>> typename...> name?
>>
>> Click on the metafunction name for more info.
>
> Yes but it would be better to understand it directly from the table.

I agree that a short explanation for each metafunction generated should
be in the table. For a longer explanation the user can click on the link
and go to the reference.

>
>>> - the documentation of for each macro is too succinct. You should
>>> re-explain the naming convention that will be used by the macro to
>>> create the new trait. You could even just give the C++ code that will
>>> be produced by the macro (just the visible code):
>>>
>>> BOOST_TTI_HAS_TYPE(name)
>>> is equivalent to:
>>> template< typename T, typename U=notype>
>>> struct has_type_name {
>>> const bool value;
>>> };
>>> with value ...
>>>
>>> In particular, examples are required for each of them.
>>
>> I hear you. I really don't want to duplicate the source code for each in the
>> doc. Some are pretty long and involved.
>
> In fact just the following would be enough:
> template< typename T, typename U=notype>
> struct has_type_name;

That sounds sensible.

>
>> My tests did not really test
>> const/volatile cases but I think this is much less of an eventual problem.
>
> OK for const but I would not bet on volatile...

I understand your trials with operator traits and volatile. My approach
may end up being that since 'volatile' is used so rarely, getting it to
work correctly in all cases may not be necessary, even if it is ideal.

>
> Good job Eddie. Cheers,

Thanks !

Eddie


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