digitalmars.D.learn - Getting usages of template
- Carlin St Pierre (19/19) Nov 17 2016 Is it possible to get the list of usages of a template during
- Stefan Koch (3/22) Nov 17 2016 Not without hacking the compiler.
- lobo (8/27) Nov 17 2016 Does this do what you want?
Is it possible to get the list of usages of a template during
compile time?
For example:
class Foo
{
void bar(T)(T t)
{
}
}
void main()
{
Foo foo = new Foo;
foo.bar(1); // int
foo.bar(2f); // float
foo.bar("3"); // string
}
// pragma(msg, TemplateThatGetsTemplateUsages!(Foo.bar)) would
print:
// (int, float, string)
Nov 17 2016
On Thursday, 17 November 2016 at 09:40:45 UTC, Carlin St Pierre
wrote:
Is it possible to get the list of usages of a template during
compile time?
For example:
class Foo
{
void bar(T)(T t)
{
}
}
void main()
{
Foo foo = new Foo;
foo.bar(1); // int
foo.bar(2f); // float
foo.bar("3"); // string
}
// pragma(msg, TemplateThatGetsTemplateUsages!(Foo.bar)) would
print:
// (int, float, string)
Not without hacking the compiler.
Nov 17 2016
On Thursday, 17 November 2016 at 09:40:45 UTC, Carlin St Pierre
wrote:
Is it possible to get the list of usages of a template during
compile time?
For example:
class Foo
{
void bar(T)(T t)
{
}
}
void main()
{
Foo foo = new Foo;
foo.bar(1); // int
foo.bar(2f); // float
foo.bar("3"); // string
}
// pragma(msg, TemplateThatGetsTemplateUsages!(Foo.bar)) would
print:
// (int, float, string)
Does this do what you want?
class Foo {
void bar(T)(T t) {
pragma(msg, __FUNCTION__);
}
}
Nov 17 2016









Stefan Koch <uplink.coder googlemail.com> 