Getting usages of template

lobo via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Thu Nov 17 18:01:32 PST 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__);
   }
}



More information about the Digitalmars-d-learn mailing list