I want to make a string value that contains current source file name (__FILE__ without directories) and can be transferred into a debug output method.
I tried the following inline function:
inline string GetFileWithoutDir() {
    path p(__FILE__);
    return p.filename().string();
}
But inline is not guaranteed to be expanded, so __FILE__ may not be the caller's source file, right?
Macros are guaranteed to be expanded, but GetFileWithoutDir has multiple statements. How can I fit these two lines into a single macro?
