template specialization for arrays
J Arrizza
cppgent0 at gmail.com
Sat Oct 29 08:24:29 PDT 2011
I have a template that I'd like to have a specialization for arrays.
Initiall I need it to work for byte arrays, but I'd like to make it
eventually work for all arrays. The page
http://d-programming-language.org/template says to use
template TFoo(T : T[]) { ... } // #2
but when I try it, it doesn't quite work:
template abc(T)
{
void abc(T parm1)
{
writeln("simpleparm: ", parm1);
}
}
template abc(T: T[])
{
void abc(T parm1)
{
writeln("array : ", parm1);
}
}
void main(string[] args)
{
abc(1);
abc("str");
int[] arr = [1, 2];
abc(arr);
}
The output is:
simpleparm: 1
simpleparm: str
simpleparm: [1, 2]
Which is not what I want, it needs to be the specialized template for
arrays. Note, this doesn't work either:
template abc(T: T[])
{
void abc(T[] parm1)
{
writeln("array : ", parm1);
}
}
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20111029/fe64fbfc/attachment.html>
More information about the Digitalmars-d
mailing list