Originally Posted by
EmilyStrange
You are correct, the preprocessor has nothing to do with inlining functions in the compiler. I wasn't clear on the definition of inlining. What I mean by use of the preprocessor is that you would define a "pseudo-function", i.e. just a code snippet, that would expand in to whatever code you need to call. It is not a function, per se, but it is inlining the code.
Defining the function in the class declaration, rather than in the implementation file, on every decent C++ compiler I have used to date, will *always* inline the function, for given values of "always." i.e. always being if the function *can* be inlined. Polymorphism is the biggest one that will change "always" in to "yeah, right..." There are other cases where this explicit inlining will fail.. Unlike the use of the "inline" keyword though, defining inside of the class body is more explicit than a hint and is not dependent on which compiler flags were specified.
With a project that is approaching more than a decade in development, which so many programmers than have cycled through the development team, code maintainability and stability of the client and server (with so many millions of players) are most likely higher priority than anything else these days.