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