Jacek Caban jacek@codeweavers.com writes:
I just feel that it's better to have a wrapper to avoid explicit casts in the code and have vtbl logic separated from other code. I usually use macros, but I know you don't like it, so I used an inline function here.
For secondary vtbls that's definitely a good idea (as long as you are using inline functions and not macros...) The main vtbl is a bit different because by design its address and the object are the same thing, so you can use a cast and ignore the fact that there even is a vtbl involved. Though I'm not opposed to a function wrapper either, just with a more explicit name.