Re: __traits(allMembers) and aliases

2015-08-26 Thread Artur Skawina via Digitalmars-d-learn
On 08/26/15 14:42, Mike Parker via Digitalmars-d-learn wrote: > This doesn't help me distinguish aliased function names. [...] > I don't want to put any restrictions on what the user can have in the > module/class/struct that contains the function pointer. It's just that > aliased function name

Re: __traits(allMembers) and aliases

2015-08-26 Thread Mike Parker via Digitalmars-d-learn
On Wednesday, 26 August 2015 at 11:20:40 UTC, Meta wrote: I've been doing work on this recently. As far as I can tell, there is no way to do this. The problem is that an alias behaves exactly like the thing being aliased since it's just a name replacement, so there are no giveaways like being u

Re: __traits(allMembers) and aliases

2015-08-26 Thread Mike Parker via Digitalmars-d-learn
On Tuesday, 25 August 2015 at 16:08:48 UTC, Rikki Cattermole wrote: \> While my memory especially at 4am is rusty here: enum isVarDecl = __traits(compiles, {mixin(GOT ~ " got;");}); Where GOT is assumed to be the string that you got from __traits(allMembers. It'll be true that it is a variabl

Re: __traits(allMembers) and aliases

2015-08-26 Thread Meta via Digitalmars-d-learn
On Tuesday, 25 August 2015 at 12:06:08 UTC, Mike Parker wrote: Is there a way to determine whether a given symbol is an alias? Consider this: ``` module funcs; alias FuncPtr = void function(); @ChooseMe FuncPtr funcPtr; alias anotherName = funcPtr; ``` Handing this module off to __traits(allMe

Re: __traits(allMembers) and aliases

2015-08-25 Thread Rikki Cattermole via Digitalmars-d-learn
On 26/08/15 12:06 AM, Mike Parker wrote: Is there a way to determine whether a given symbol is an alias? Consider this: ``` module funcs; alias FuncPtr = void function(); @ChooseMe FuncPtr funcPtr; alias anotherName = funcPtr; ``` Handing this module off to __traits(allMembers), then checking f

Re: __traits(allMembers) and aliases

2015-08-25 Thread Mike Parker via Digitalmars-d-learn
On Tuesday, 25 August 2015 at 12:48:12 UTC, Dejan Lekic wrote: It is off-topic (sorry for that), but how you grab only those (say functions) in a module that are annotated with @ChoseMe ?? allMembers trait gives bunch of strings, and I could not find a way to use them with hasUDA template...

Re: __traits(allMembers) and aliases

2015-08-25 Thread Dejan Lekic via Digitalmars-d-learn
It is off-topic (sorry for that), but how you grab only those (say functions) in a module that are annotated with @ChoseMe ?? allMembers trait gives bunch of strings, and I could not find a way to use them with hasUDA template...

__traits(allMembers) and aliases

2015-08-25 Thread Mike Parker via Digitalmars-d-learn
Is there a way to determine whether a given symbol is an alias? Consider this: ``` module funcs; alias FuncPtr = void function(); @ChooseMe FuncPtr funcPtr; alias anotherName = funcPtr; ``` Handing this module off to __traits(allMembers), then checking for the UDA on each member, I can filter