How does an inline function differ from a preprocessor macro?
Macros are ignoring namespaces. And that makes them evil.