digitalmars.D - Implicit Template Properties and Mixins
- Vathix (17/17) Jun 12 2005 As stated in template.html, "If a template has exactly one member in it,...
- Maxime Larose (4/21) Jun 13 2005 I also tried that before. FWIW, I agree with you, it would add much
As stated in template.html, "If a template has exactly one member in it, and the name of that member is the same as the template name, that member is assumed to be referred to in a template instantiation", could this be expanded to also apply to a mixin's MixinIdentifier? Such as: template MixFoo(T, T VALUE = T.init) { T MixFoo = VALUE; } int main() { mixin MixFoo!(int, 3) mfoo; printf("%d\n", mfoo); // Instead of mfoo.MixFoo. Prints 3. return 0; } So that mfoo is treated as type T (int) instead of a mixin, since MixFoo is the only member in the template and has the same name. I think this will add much eloquence.
Jun 12 2005
I also tried that before. FWIW, I agree with you, it would add much eloquence and allow a certain (very) restricted form of macros to D. "Vathix" <vathix dprogramming.com> wrote in message news:op.sr9p27m0kcck4r esi...As stated in template.html, "If a template has exactly one member in it, and the name of that member is the same as the template name, that member is assumed to be referred to in a template instantiation", could this be expanded to also apply to a mixin's MixinIdentifier? Such as: template MixFoo(T, T VALUE = T.init) { T MixFoo = VALUE; } int main() { mixin MixFoo!(int, 3) mfoo; printf("%d\n", mfoo); // Instead of mfoo.MixFoo. Prints 3. return 0; } So that mfoo is treated as type T (int) instead of a mixin, since MixFoo is the only member in the template and has the same name. I think this will add much eloquence.
Jun 13 2005