Mixin virtual functions -- overloads
Justin
mrjnewt at gmail.com
Tue Feb 24 09:31:37 PST 2009
I can probably figure out the bulk of the problem if someone can direct me to the correct way of mixing in a bunch of functions and having them overload each other properly. I'm using D 1.39 and the documentation indicated that I needed to use the MixinDeclaration and aliases, so this is what I have:
mixin tSetValue!(bool) tm_bool;
mixin tSetValue!(byte) tm_byte;
mixin tSetValue!(ubyte) tm_ubyte;
mixin tSetValue!(int) tm_int;
mixin tSetValue!(uint) tm_uint;
mixin tSetValue!(long) tm_long;
mixin tSetValue!(ulong) tm_ulong;
mixin tSetValue!(float) tm_float;
mixin tSetValue!(double) tm_double;
mixin tSetValue!(real) tm_real;
mixin tSetValue!(char) tm_char;
mixin tSetValue!(Object) tm_Object;
alias tm_bool.SetValue SetValue;
alias tm_byte.SetValue SetValue;
alias tm_ubyte.SetValue SetValue;
alias tm_int.SetValue SetValue;
alias tm_uint.SetValue SetValue;
alias tm_long.SetValue SetValue;
alias tm_ulong.SetValue SetValue;
alias tm_float.SetValue SetValue;
alias tm_double.SetValue SetValue;
alias tm_real.SetValue SetValue;
alias tm_char.SetValue SetValue;
alias tm_Object.SetValue SetValue;
But it seems that only the first use is recognized and the compiler tries to match all uses of the function to that first signature (bool).
More information about the Digitalmars-d
mailing list