how to skip sub functions in __traits(allMembers)
BBaz via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Jun 27 09:28:40 PDT 2015
I try to build a symbol table:
---
module aveb;
import std.stdio;
import std.algorithm.searching;
import std.ascii;
void* [string] sig;
void ana(alias mod)()
{
import std.traits;
foreach(memb;__traits(allMembers,mod))
static if
(canFind(["package","public"],__traits(getProtection,memb)))
static if (isSomeFunction! (__traits(getMember,mod,memb)
))
foreach(ov;__traits(getOverloads,mod,memb))
sig[memb] = &__traits(getMember,mod,memb);
}
void main(string[] args)
{
//ana!(std.ascii); //ok
ana!(std.traits);
writeln(sig);
}
---
>Error: function std.traits.demangleParameterStorageClass is not
>accessible from module aveb
>Error: function std.traits.demangleParameterStorageClass is not
>accessible from module aveb
>etc
problem is that the sub functions are not accessible. i'd like to
skip them.
More information about the Digitalmars-d-learn
mailing list