Reading Atributes (UDA) of overloaded functions
John Colvin via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Thu Sep 17 05:53:41 PDT 2015
On Thursday, 17 September 2015 at 12:40:24 UTC, Ozan wrote:
> On Thursday, 17 September 2015 at 12:36:42 UTC, John Colvin
> wrote:
>> On Thursday, 17 September 2015 at 11:47:40 UTC, Ozan wrote:
> ...
>> use __traits(getAttributes, /*...*/) on each of the members of
>> the result of __traits(getOverloads, /*...*/)
>
> Great! Thanks! Now it works:
>
> foreach (ov; __traits(getOverloads, Test, "testUDA")) {
> foreach (attr; __traits(getAttributes, ov)) {
> if (attr.stringof == "Att") writeln("Found Att");
> if (attr.stringof == "Att2") writeln("Found Att2");
> if (attr.stringof == "Att3") writeln("Found Att3");
> }
> }
>
> Regards, Ozan
Awesome. By the way, in the next release there will be some more
tools in phobos for this stuff, see
http://dlang.org/phobos-prerelease/std_traits.html#getSymbolsByUDA for a taster.
More information about the Digitalmars-d-learn
mailing list