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