The header <boost/current_function.hpp> defines a single macro, BOOST_CURRENT_FUNCTION,
similar to the C99 predefined identifier __func__.
BOOST_CURRENT_FUNCTION expands to either a string literal, or the name of a
character array local to the current function, containing the (fully qualified,
if possible) name of the enclosing function. If there is no enclosing function,
the behavior varies by compiler, but is usually a compile error.
Some compilers do not provide a way to obtain the name of the current enclosing
function. On such compilers, or when the macro BOOST_DISABLE_CURRENT_FUNCTION
is defined, BOOST_CURRENT_FUNCTION expands to "(unknown)".
BOOST_DISABLE_CURRENT_FUNCTION addresses a use case in which the programmer
wishes to eliminate the string literals produced by BOOST_CURRENT_FUNCTION from
the final executable for security reasons.