CTFE vs. traditional metaprogramming
Jason House
jason.james.house at gmail.com
Fri Oct 9 13:45:23 PDT 2009
Andrei Alexandrescu Wrote:
>
> One question that bugs me is, where do you draw the line? Say there's a
> metaprogramming problem at hand. How to decide on solving it with CTFE
> vs. solving it with templates? It would be great to have a simple
> guideline that puts in contrast the pluses and minuses of the two
> approaches.
>
> It is quite possible that templates get relegated to parameterized
> functions and types, whereas all heavy lifting in metaprogramming should
> be carried with CTFE.
That would certainly be my preferred division. Templates can be used as a replacement for interfaces when the overhead can't be tolerated. D's ranges make heavy use of this. Templates can avoid virtual function calls and keep object size small. Having abused this a bit too much, I'd love to be able to template modules... import whatever!(int) : foo, bar, baz;
More information about the Digitalmars-d
mailing list