Search found 9 matches

by Max
Mon May 19, 2014 07:26
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

The quote is from C++ spec (latest draft, n3242.pdf). As I said before, mixing compiler versions wasn't the purpose of this post (yes, it's not the best of habits!), mixing debug/release was (which is really helpful). I don't think it's really that specific request, at least not anymore specific tha...
by Max
Sun May 18, 2014 13:20
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

Not sure about the question, MI stands for multiple inheritance. If you meant about binary incompatibility then I can just quote the spec: 1.7 A memory location is either an object of scalar type or a maximal sequence of adjacent bit-fields all having non-zero width. [Note: Various features of the l...
by Max
Sun May 18, 2014 08:05
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

Sorry for not getting back earlier. I don't have any general criticism towards MI, I think it's a great C++ feature. My only problem with it is that it doesn't ensure binary compatibility when used in an exposed interface. As noted before, I entirely missed the point that CEGUI has STL in its expose...
by Max
Thu May 15, 2014 14:22
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

I see. Thanks for the detailed reply. No need to call in other members as your word is enough for me. My main goal was to mix debug/release builds, because I really don't like when I'm debugging some code (performance as well) and some dynamic library responds differently than it would in release mo...
by Max
Thu May 15, 2014 13:23
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

Isn't using STL in an interface is a questionable design decision in its own right? I assumed that you don't do it though. I didn't say that MI is the sole reason for binary incompatibility, and yet it's a reason, which incidentally was the first one I noticed (because of incompatible vtables). If y...
by Max
Thu May 15, 2014 10:51
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

Yes. And furthermore, in case of MI, first base class's vtable is recognized correctly, others are not however.
by Max
Thu May 15, 2014 07:15
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

It's not about runtimes, but rather about interface between dynamic libraries. Interface which is exposed by MI is binary incompatible, unless it was built in exactly the same way as the project that uses it. Not sure about references, but I can give examples. D3D uses single inheritance in its inte...
by Max
Wed May 14, 2014 12:53
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

Re: [Request] Please remove multiple inheritance from interf

With MI, VTables are incompatible between debug and release builds. I've also seen discrepancy when building with different compiler versions (for instance exe with VS11 and dll with VS10).
by Max
Wed May 14, 2014 07:56
Forum: Bug Reports, Suggestions, Feature Requests
Topic: [Request] Please remove multiple inheritance from interfaces
Replies: 19
Views: 17144

[Request] Please remove multiple inheritance from interfaces

It breaks binary compatibility when building with MSVC. Very little point in having a dynamic library if the release version won't work for debug builds, or when the dll was compiled with different compiler. On the other hand, single inheritance doesn't break ABI. I know it's not an easy thing to do...

Go to advanced search