| //// |
| 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, <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 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. |