Chris@102
|
1 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
2 //
|
Chris@102
|
3 // (C) Copyright Ion Gaztanaga 2014-2015. Distributed under the Boost
|
Chris@102
|
4 // Software License, Version 1.0. (See accompanying file
|
Chris@102
|
5 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
Chris@102
|
6 //
|
Chris@102
|
7 // See http://www.boost.org/libs/interprocess for documentation.
|
Chris@102
|
8 //
|
Chris@102
|
9 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
10 #ifndef BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
|
Chris@102
|
11 #define BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
|
Chris@102
|
12
|
Chris@102
|
13 #ifndef BOOST_CONFIG_HPP
|
Chris@102
|
14 # include <boost/config.hpp>
|
Chris@102
|
15 #endif
|
Chris@102
|
16 #
|
Chris@102
|
17 #if defined(BOOST_HAS_PRAGMA_ONCE)
|
Chris@102
|
18 # pragma once
|
Chris@102
|
19 #endif
|
Chris@102
|
20
|
Chris@102
|
21 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
22 // Standard predeclarations
|
Chris@102
|
23 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
24
|
Chris@102
|
25 #if defined(__clang__) && defined(_LIBCPP_VERSION)
|
Chris@102
|
26 #define BOOST_INTERPROCESS_CLANG_INLINE_STD_NS
|
Chris@102
|
27 #pragma GCC diagnostic push
|
Chris@102
|
28 #pragma GCC diagnostic ignored "-Wc++11-extensions"
|
Chris@102
|
29 #define BOOST_INTERPROCESS_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD
|
Chris@102
|
30 #define BOOST_INTERPROCESS_STD_NS_END _LIBCPP_END_NAMESPACE_STD
|
Chris@102
|
31 #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION) //GCC >= 4.6
|
Chris@102
|
32 #define BOOST_INTERPROCESS_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
Chris@102
|
33 #define BOOST_INTERPROCESS_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION } // namespace
|
Chris@102
|
34 #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE) //GCC >= 4.2
|
Chris@102
|
35 #define BOOST_INTERPROCESS_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std)
|
Chris@102
|
36 #define BOOST_INTERPROCESS_STD_NS_END _GLIBCXX_END_NAMESPACE
|
Chris@102
|
37 #else
|
Chris@102
|
38 #define BOOST_INTERPROCESS_STD_NS_BEG namespace std{
|
Chris@102
|
39 #define BOOST_INTERPROCESS_STD_NS_END }
|
Chris@102
|
40 #endif
|
Chris@102
|
41
|
Chris@102
|
42 BOOST_INTERPROCESS_STD_NS_BEG
|
Chris@102
|
43
|
Chris@102
|
44 struct input_iterator_tag;
|
Chris@102
|
45 struct forward_iterator_tag;
|
Chris@102
|
46 struct bidirectional_iterator_tag;
|
Chris@102
|
47 struct random_access_iterator_tag;
|
Chris@102
|
48
|
Chris@102
|
49 template<class T>
|
Chris@102
|
50 struct char_traits;
|
Chris@102
|
51
|
Chris@102
|
52 template<class CharT, class Traits>
|
Chris@102
|
53 class basic_ostream;
|
Chris@102
|
54
|
Chris@102
|
55 template<class CharT, class Traits>
|
Chris@102
|
56 class basic_istream;
|
Chris@102
|
57
|
Chris@102
|
58 BOOST_INTERPROCESS_STD_NS_END
|
Chris@102
|
59
|
Chris@102
|
60 #ifdef BOOST_INTERPROCESS_CLANG_INLINE_STD_NS
|
Chris@102
|
61 #pragma GCC diagnostic pop
|
Chris@102
|
62 #undef BOOST_INTERPROCESS_CLANG_INLINE_STD_NS
|
Chris@102
|
63 #endif //BOOST_INTERPROCESS_CLANG_INLINE_STD_NS
|
Chris@102
|
64
|
Chris@102
|
65 #endif //#ifndef BOOST_INTERPROCESS_DETAIL_STD_FWD_HPP
|