
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