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 a string literal containing
the (fully qualified, if possible) name of the enclosing function. If there is
no enclosing function, the behavior is unspecified.
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.