definitions because they get compiled into your caller's code, making them difficult to revise. For clients to compile a class that contains an inline, they must have the source code for that function. Once the source is in circulation, it cannot be changed without breaking binary compatibility. What's more, if an inline refers to internal details of a class, those details can never change. Because of these ramifications, at Taligent an architect must approve every inline function.
There are times, however, when inlines are acceptable. In each of these cases, the function implementation is defined by its declaration.