> -----Original Message-----
> From: Martin Sebor [mailto:msebor@gmail.com] On Behalf Of Martin Sebor
> Sent: Thursday, June 26, 2008 9:45 AM
> To: dev@stdcxx.apache.org
> Subject: Re: __rw_and (Was RE: Some internal aliases for
> __rw_integral_constant?)
>
> Eric Lemings wrote:
> >
> [...]
> > Okay, another proposal for inclusion though this particular utility
> > may be a stretch unless you understand variadic templates very well.
>
> Can you show what the code looks like w/o __rw_and for comparison?
I could try but you would want to read it about as much as I would want
to write it. :)
Basically, it would require all the hackery required for simulating
variadic templates. Not pretty.
>
> In general, an important design principle behind stdcxx is efficiency,
> both in time and in space. And in terms of time, both compilation as
> well runtime efficiency is important. In contrast to the ordinary
> kind, template metaprogramming tends to increase compilation times
> much more noticeably. In C++ 0x a good amount metaprogramming code
> is dictated by the standard already but as a rule we need exercise
> restraint when introducing templatized helper code, especially
> when template recursion is involved.
Right. The way I see it, utilities like this are indended to simplify
the required metaprogramming code. In order to do that though, other
developers would have to reuse it. :)
That's why I said at the bottom of the email that I'll probably hold off
on moving it up the chain of includes to a more generic header where it
would be more reusable until such a time when other developers find more
need for it. (I doubt tuples will be the only place requiring
compile-time logical operators.) But it's posted now so we're all aware
of it at least.
BTW, is template recursion really costly in terms of compile times?
Brad.
|