1 #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED 2 #define BOOST_CURRENT_FUNCTION_HPP_INCLUDED 3 4 // MS compatible compilers support #pragma once 5 6 #if defined(_MSC_VER) && (_MSC_VER >= 1020) 7 # pragma once 8 #endif 9 10 // 11 // boost/current_function.hpp - BOOST_CURRENT_FUNCTION 12 // 13 // Copyright (c) 2002 Peter Dimov and Multi Media Ltd. 14 // 15 // Distributed under the Boost Software License, Version 1.0. (See 16 // accompanying file LICENSE_1_0.txt or copy at 17 // http://www.boost.org/LICENSE_1_0.txt) 18 // 19 // http://www.boost.org/libs/utility/current_function.html 20 // 21 22 namespace boost 23 { 24 25 namespace detail 26 { 27 current_function_helper()28inline void current_function_helper() 29 { 30 31 #if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__) 32 33 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ 34 35 #elif defined(__DMC__) && (__DMC__ >= 0x810) 36 37 # define BOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__ 38 39 #elif defined(__FUNCSIG__) 40 41 # define BOOST_CURRENT_FUNCTION __FUNCSIG__ 42 43 #elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500)) 44 45 # define BOOST_CURRENT_FUNCTION __FUNCTION__ 46 47 #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550) 48 49 # define BOOST_CURRENT_FUNCTION __FUNC__ 50 51 #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901) 52 53 # define BOOST_CURRENT_FUNCTION __func__ 54 55 #else 56 57 # define BOOST_CURRENT_FUNCTION "(unknown)" 58 59 #endif 60 61 } 62 63 } // namespace detail 64 65 } // namespace boost 66 67 #endif // #ifndef BOOST_CURRENT_FUNCTION_HPP_INCLUDED 68 69