On Saturday, 4 August 2012 at 10:08:34 UTC, Era Scarecrow wrote:
---
mixin template BitfieldsOn(alias target, <…>) if (isIntegral!(typeof(target))) {
   mixin({
       string code;
       // Generate code using "target" as identifier.
       return code;
   }());
}

mixin BitfieldsOn!(foo, <…>);

 I really don't see how that is an improvement.

It's a sketch of an implementation for your template which actually works with foo being passed only as an alias parameter. It's not a string mixin, but I tend to avoid exposing string mixins to user code as much as possible anyway.

I'm not sure what you mean with »[…] the only acceptable input is a string; Since strings won't hold the type information...« – the input to BitfieldsOn is _not_ a string, it is an alias. The trick is that you can refer to it as »target« inside the mixin template, so the problem of obtaining the »real name« of something doesn't even arise.

David

Reply via email to