digitalmars.D.learn - determine if X is a template
- BC <NOTmi_emayl_adrez hotmail.com.remove.not> Nov 21 2007
- BC <NOTmi_emayl_adrez hotmail.com.remove.not> Nov 21 2007
- Bill Baxter <dnewsgroup billbaxter.com> Nov 21 2007
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...
Nov 21 2007
On Wed, 21 Nov 2007 14:34:46 -0000, BC <NOTmi_emayl_adrez 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
Nov 21 2007
BC wrote:On Wed, 21 Nov 2007 14:34:46 -0000, BC <NOTmi_emayl_adrez 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
Nov 21 2007








Bill Baxter <dnewsgroup billbaxter.com>