determine if X is a template

Bill Baxter dnewsgroup at billbaxter.com
Wed Nov 21 08:20:07 PST 2007


BC wrote:
> On Wed, 21 Nov 2007 14:34:46 -0000, BC 
> <NOTmi_emayl_adrez at hotmail.com.remove.not> wrote:
> 
>> is there any way to determine if an identifier is a template, and how 
>> many parameters it has?
>>
>> i'm doing a multimethods kind of thing to see if you can simulate 
>> virtual template functions...
> 
> oh i figured it out, is(Templ) returns false and is(Templ!(int)) returns 
> true
>  if Templ takes one type argument

Note there are other types of template parameters.
I don't think the check above will catch these templates:
template Templ(int x) { ... }  // or float or string or ...
or
template Templ(alias x) { ... }

--bb


More information about the Digitalmars-d-learn mailing list