blob: 111f9fa7785b2c0afc9cd2576bdcdc174df1b95e [file] [log] [blame]
Jeff Thompson3d613fd2013-10-15 15:39:04 -07001#ifndef NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
2#define NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
Jeff Thompsonf7d49942013-08-01 16:47:40 -07003
4// MS compatible compilers support #pragma once
5
6#if defined(_MSC_VER) && (_MSC_VER >= 1020)
7# pragma once
8#endif
9
10//
Jeff Thompson3d613fd2013-10-15 15:39:04 -070011// ndnboost/current_function.hpp - NDNBOOST_CURRENT_FUNCTION
Jeff Thompsonf7d49942013-08-01 16:47:40 -070012//
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
22namespace ndnboost
23{
24
25namespace detail
26{
27
28inline void current_function_helper()
29{
30
31#if defined(__GNUC__) || (defined(__MWERKS__) && (__MWERKS__ >= 0x3000)) || (defined(__ICC) && (__ICC >= 600)) || defined(__ghs__)
32
Jeff Thompson3d613fd2013-10-15 15:39:04 -070033# define NDNBOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070034
35#elif defined(__DMC__) && (__DMC__ >= 0x810)
36
Jeff Thompson3d613fd2013-10-15 15:39:04 -070037# define NDNBOOST_CURRENT_FUNCTION __PRETTY_FUNCTION__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070038
39#elif defined(__FUNCSIG__)
40
Jeff Thompson3d613fd2013-10-15 15:39:04 -070041# define NDNBOOST_CURRENT_FUNCTION __FUNCSIG__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070042
43#elif (defined(__INTEL_COMPILER) && (__INTEL_COMPILER >= 600)) || (defined(__IBMCPP__) && (__IBMCPP__ >= 500))
44
Jeff Thompson3d613fd2013-10-15 15:39:04 -070045# define NDNBOOST_CURRENT_FUNCTION __FUNCTION__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070046
47#elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x550)
48
Jeff Thompson3d613fd2013-10-15 15:39:04 -070049# define NDNBOOST_CURRENT_FUNCTION __FUNC__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070050
51#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 199901)
52
Jeff Thompson3d613fd2013-10-15 15:39:04 -070053# define NDNBOOST_CURRENT_FUNCTION __func__
Jeff Thompsonf7d49942013-08-01 16:47:40 -070054
55#else
56
Jeff Thompson3d613fd2013-10-15 15:39:04 -070057# define NDNBOOST_CURRENT_FUNCTION "(unknown)"
Jeff Thompsonf7d49942013-08-01 16:47:40 -070058
59#endif
60
61}
62
63} // namespace detail
64
65} // namespace ndnboost
66
Jeff Thompson3d613fd2013-10-15 15:39:04 -070067#endif // #ifndef NDNBOOST_CURRENT_FUNCTION_HPP_INCLUDED
Jeff Thompsonf7d49942013-08-01 16:47:40 -070068