template specialization
Larry Luther
larry.luther at dolby.com
Tue Jun 8 14:25:43 PDT 2010
This code:
import std.stdio;
class A {
void get (T:ubyte)(T[] buffer) {
writefln( "get (T:ubyte)(T[] buffer)\n");
}
void get (T:byte)(T[] buffer) {
writefln( "get (T:byte)(T[] buffer)\n");
}
void get (T)(T[] buffer) {
writefln( "get (T)(T[] buffer)\n");
}
}
void main () {
A foo = new A;
ubyte[100] ub;
byte[100] bb;
int[100] ib;
foo.get( ub);
foo.get( bb);
foo.get( ib);
}
Generates:
get (T:ubyte)(T[] buffer)
get (T:ubyte)(T[] buffer)
get (T)(T[] buffer)
Note: If "get(T:byte)" preceeded "get(T:ubyte)" then "get(T:byte)" would be
called in both cases.
Q: Is this the way it's supposed to be?
Thanks, Larry
More information about the Digitalmars-d-learn
mailing list