Arbitrary abbreviations in phobos considered ridiculous
Steven Schveighoffer
schveiguy at yahoo.com
Mon Mar 12 06:01:05 PDT 2012
On Sun, 11 Mar 2012 00:18:31 -0500, Daniel Murphy
<yebblies at nospamgmail.com> wrote:
> "Nick Sabalausky" <a at a.a> wrote in message
> news:jjh9uh$1vto$1 at digitalmars.com...
>>
>> My understanding is that the *only* thing preventing vitrual template
>> functions is the possibility of pre-compiled closed-source static libs.
>> Which is why I've long been in favor of allowing vitrual template
>> functions *as long as* there's no closed-source static libs preventing
>> it.
>> Why should OSS have to pay costs that only apply to closed source?
>>
>
> That's not really it...
>
> The problem is that vtables contain every virtual function of a class -
> and
> if you instantiate a template function with a new type, it would require
> a
> new vtable entry. Therefore you need to know how every template
> function in
> every derived class is instantiated before you can build the base class
> vtable. This doesn't work with D's compilation model.
You could do it if the vtable was a hash instead of an array (or at least
the template portion was). But that's just asking for horrible
performance, and I don't think it's worth it.
But I think it is possible...
-Steve
More information about the Digitalmars-d
mailing list