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()28 inline 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