May 18, 2008 stringof of an TemplateAliasParameter | ||||
---|---|---|---|---|
| ||||
Hello, suppose you have the following template: | template Foo (alias X) | { | const char[] Foo = X.stringof ~ " = null;"; | } ... and instanciate it with a struct member ... | mixin (Foo !(mystruct.member)); ... this code becomes "member = null;", although I'd like it to be "mystruct.member = null;" Is this intended behavior? .stringof seems to return only sort of a short version of the name. Of course I could make my template accept a string "mystruct.member" instead of an alias to make it work, but I thought this would be more comfortable to let the user call my mixins with variables instead of strings, containing variables! Or is there another way to achieve my needs? best regards Matthias Walter |
May 19, 2008 Re: stringof of an TemplateAliasParameter | ||||
---|---|---|---|---|
| ||||
Posted in reply to Matthias Walter | On Sun, 18 May 2008 21:33:35 +0200, Matthias Walter <Matthias.Walter@st.ovgu.de> wrote: > Hello, > > suppose you have the following template: > > | template Foo (alias X) > | { > | const char[] Foo = X.stringof ~ " = null;"; > | } > > ... and instanciate it with a struct member ... > > | mixin (Foo !(mystruct.member)); > > ... this code becomes "member = null;", although I'd like it to be "mystruct.member = null;" Is this intended behavior? .stringof seems to return only sort of a short version of the name. > > Of course I could make my template accept a string "mystruct.member" instead of an alias to make it work, but I thought this would be more comfortable to let the user call my mixins with variables instead of strings, containing variables! Or is there another way to achieve my needs? > > best regards > Matthias Walter You can use the meta library in Pyd. http://www.dsource.org/projects/pyd/browser/trunk/infrastructure/meta struct foo { int bar; } pragma(msg, qualifiednameof!(foo.bar)); // prints somemodule.foo.bar |
Copyright © 1999-2021 by the D Language Foundation