Go to the documentation of this file.00001 #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED
00002 #define BOOST_CURRENT_FUNCTION_HPP_INCLUDED
00003
00004
00005
00006 #if defined(_MSC_VER) && (_MSC_VER >= 1020)
00007 # pragma once
00008 #endif
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 namespace boost
00023 {
00024
00025 namespace detail
00026 {
00027
00028 inline void current_function_helper()
00029 {
00030
00031 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600))
00032
00033 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
00034
00035 #elif defined(__DMC__) && (__DMC__ >= 0x810)
00036
00037 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
00038
00039 #elif defined(__FUNCSIG__)
00040
00041 # define BOOST_CURRENT_FUNCTION __FUNCSIG__
00042
00043 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
00044
00045 # define BOOST_CURRENT_FUNCTION __FUNCTION__
00046
00047 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
00048
00049 # define BOOST_CURRENT_FUNCTION __FUNC__
00050
00051 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
00052
00053 # define BOOST_CURRENT_FUNCTION __func__
00054
00055 #else
00056
00057 # define BOOST_CURRENT_FUNCTION "(unknown)"
00058
00059 #endif
00060
00061 }
00062
00063 }
00064
00065 }
00066
00067 #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED