Mats Kindahl wrote:
Jim Starkey wrote:
ts, inline functions defeat the original purpose of hiding the
internals.  A virtual method hides the implementation from the client;
and inline does not.  Virtual functions will continue to work after a
change is made to the internals.  An inline function will not.

Clean interfaces totally trump the odd nanosecond here and there gained
from an inline vs. virtual function.

As I said, inline functions is an exception used for special cases where it is
deemed necessary. I don't see what you disagree with here.


An inline function is compiled in the context of a specific code base. If the plugin implements an interface containing an inline (as opposed to virtual) function, it will break if the underlying server function changes.

Another way of looking at this is that a proper plugin is compiled only against the interface headers, not the server itself. This only works is the interface is an abstract class containing nothing but pure virtual functions.

--
Jim Starkey
President, NimbusDB, Inc.
978 526-1376


_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : drizzle-discuss@lists.launchpad.net
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to