33 lines
1.2 KiB
Plaintext
33 lines
1.2 KiB
Plaintext
////
|
|
Copyright 2002, 2017 Peter Dimov
|
|
|
|
Distributed under the Boost Software License, Version 1.0.
|
|
|
|
See accompanying file LICENSE_1_0.txt or copy at
|
|
http://www.boost.org/LICENSE_1_0.txt
|
|
////
|
|
|
|
[#current_function_macro]
|
|
# Current Function Macro, <boost/current_function.hpp>
|
|
:toc:
|
|
:toc-title:
|
|
:idprefix:
|
|
|
|
## BOOST_CURRENT_FUNCTION
|
|
|
|
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.
|