Getting the current module as a symbol
Mithun Hunsur via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Wed Apr 13 04:36:07 PDT 2016
On Wednesday, 13 April 2016 at 05:30:27 UTC, Vladimir Panteleev
wrote:
> On Tuesday, 12 April 2016 at 13:44:07 UTC, Mithun Hunsur wrote:
>> Hi all,
>>
>> I'm looking for the equivalent of `typeof(this)` in module
>> scope (so that it gets the current module). My use-case is
>> iterating over the members of the module - right now I'm doing
>>
>> `mixin(iterateOverModule!(module.name.here));`
>>
>> but in the interests of keeping the code simple to maintain,
>> I'd like to be able to get the current module automatically.
>>
>> Is this possible? A cursory Google search didn't turn up
>> anything, and `this` has no meaning in module scope.
>
> Have you tried __traits(parent, someTopLevelSymbol)?
>
> Walking the __traits(parent) chain should get you to a module
> either way, I think.
Yeah, that also works; you have to define a symbol (if you don't
have one you can already use) in order to get to it, so it's a
little wasteful. Still useful to know, though!
More information about the Digitalmars-d-learn
mailing list