Boost logo

Boost :

Subject: Re: [boost] TTI library updated in the sandbox to version 1.4
From: Edward Diener (eldiener_at_[hidden])
Date: 2011-03-23 21:34:43


On 3/23/2011 8:25 PM, Steven Watanabe wrote:
> AMDG
>
> On 03/23/2011 04:10 PM, Edward Diener wrote:
>> I will be doing that. Unfortunately except for you and John Maddock no
>> one else has ever expressed an interest in TTI.
>
> Well, let me express interest too.

It is very much appreciated. Feel free to look at it and critiqued it if
you like and I will gladly listen and explain my decisions.

>
>> Maybe that sort of metaprogramming is only of interest to other
>> metaprogrammers and not normal end-users.
>
> That's probably true. I don't need functionality
> like this often, but when I do need it, it's really
> important. The most common use case for me
> is to preserve backwards compatibility when
> concept requirments change. (For instance,
> BOOST_MPL_HAS_TEMPLATE_XXX was critical
> for implementing result_of support in Boost.Lambda.)

The idea of the library is to provide this sort of compile-time
introspection for as many nested elements as could be effectively done.
I did not succeed for nested function templates but the doc explains
why. I did lift the BOOST_MPL_HAS_TEMPLATE_XXX into TTI under another (
I think more user-friendly ) name into TTI. All other elements have a
way of being introspected and I did add to my use of
BOOST_MPL_HAS_TEMPLATE_XXX more functionality which introspects a
specific class template signature, if that would ever be needed. Much of
the techniques were borrowed but I think I did a good job of overall
design, although it took me a few iterations/releases to settle on the
final ways of doing everything.

I would like to have it reviewed although I am also working to get VMD
into Boost, either as standalone or as part of pp-lib. Since TTI depends
optionally on some very small part of VMD, I am trying to get VMD
reviewed before TTI. But I know there is precedent for reviewing a
library even when it depends on another library which has not been
reviewed/accepted into Boost yet. In the case of TTI, I can easily add
the VMD functionality which it uses directly into the library if VMD in
some form does not get into Boost.


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