digitalmars.D - Reading the ModuleInfo data?
- Uwe Salomon (40/40) Jul 04 2005 I'd like to know if it is possible to get a pointer to the ModuleInfo
I'd like to know if it is possible to get a pointer to the ModuleInfo
object of the current module. I am asking because i want to do something
like this:
module some.library;
template LibraryMixin()
{
void func(char[] str)
{
someOtherFunc(str, currentModule.name); // HERE
}
}
module my.program;
mixin LibraryMixin!();
int main(char[][] args)
{
func("Hello, world.");
return 0;
}
The line marked with “HERE” calls someOtherFunc(), and it should pass the
name of the current module to it. As the function belongs to a mixin that
is inserted into module my.program, that should be "my.program" or
something similar, but *not* "some.library".
I could of course solve that with something like this:
module some.library;
template LibraryMixin(alias moduleName)
// use the moduleName...
module my.program;
char[] modName = __FILE__;
mixin LibraryMixin!(modName);
But that requires this extra line i'd really like to avoid if possible, to
make the use of some.library as simple to the user as possible.
Thanks & ciao
uwe
Jul 04 2005








"Uwe Salomon" <post uwesalomon.de>