On Monday, 12 March 2018 at 21:00:07 UTC, Xavier Bigand wrote:
Hi,
I have a CTFE function that I want to make more generic by
given it a module as parameter.
My actual code looks like :
mixin(implementFunctionsOf());
string implementFunctionsOf()
{
import std.traits;
string res;
foreach(name; __traits(allMembers, myHardCodedModule))
{
}
return res;
}
I tried many things but I can't figure out the type of the
parameter I should use for the function implementFunctionsOf.
you can use a alias or a string:
void fun(alias mod, string mod2)()
{
foreach(m; __traits(allMembers, mod))
pragma(msg, m);
foreach(m; __traits(allMembers, mixin(mod2)))
pragma(msg, m);
}
void main()
{
import std.stdio;
fun!(std.stdio, "std.stdio");
}