在 Boost 1.55 中,current_function.hpp
内容如下:
namespace boost
{
namespace detail
{
inline void current_function_helper()
{
#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
# define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
#elif ...
#endif
}
} // namespace detail
} // namespace boost
为什么作者还要费心写那些命名空间?