Chris@102
|
1 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
2 //
|
Chris@102
|
3 // (C) Copyright Ion Gaztanaga 2014-2014. 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/container for documentation.
|
Chris@102
|
8 //
|
Chris@102
|
9 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
10
|
Chris@102
|
11 #ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
|
Chris@102
|
12 #define BOOST_CONTAINER_DETAIL_STD_FWD_HPP
|
Chris@102
|
13
|
Chris@102
|
14 #ifndef BOOST_CONFIG_HPP
|
Chris@102
|
15 # include <boost/config.hpp>
|
Chris@102
|
16 #endif
|
Chris@102
|
17
|
Chris@102
|
18 #if defined(BOOST_HAS_PRAGMA_ONCE)
|
Chris@102
|
19 # pragma once
|
Chris@102
|
20 #endif
|
Chris@102
|
21
|
Chris@102
|
22 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
23 // Standard predeclarations
|
Chris@102
|
24 //////////////////////////////////////////////////////////////////////////////
|
Chris@102
|
25
|
Chris@102
|
26 #if defined(__clang__) && defined(_LIBCPP_VERSION)
|
Chris@102
|
27 #define BOOST_CONTAINER_CLANG_INLINE_STD_NS
|
Chris@102
|
28 #pragma GCC diagnostic push
|
Chris@102
|
29 #pragma GCC diagnostic ignored "-Wc++11-extensions"
|
Chris@102
|
30 #define BOOST_CONTAINER_STD_NS_BEG _LIBCPP_BEGIN_NAMESPACE_STD
|
Chris@102
|
31 #define BOOST_CONTAINER_STD_NS_END _LIBCPP_END_NAMESPACE_STD
|
Chris@102
|
32 #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE_VERSION) //GCC >= 4.6
|
Chris@102
|
33 #define BOOST_CONTAINER_STD_NS_BEG namespace std _GLIBCXX_VISIBILITY(default) { _GLIBCXX_BEGIN_NAMESPACE_VERSION
|
Chris@102
|
34 #define BOOST_CONTAINER_STD_NS_END _GLIBCXX_END_NAMESPACE_VERSION } // namespace
|
Chris@102
|
35 #elif defined(BOOST_GNU_STDLIB) && defined(_GLIBCXX_BEGIN_NAMESPACE) //GCC >= 4.2
|
Chris@102
|
36 #define BOOST_CONTAINER_STD_NS_BEG _GLIBCXX_BEGIN_NAMESPACE(std)
|
Chris@102
|
37 #define BOOST_CONTAINER_STD_NS_END _GLIBCXX_END_NAMESPACE
|
Chris@102
|
38 #else
|
Chris@102
|
39 #define BOOST_CONTAINER_STD_NS_BEG namespace std{
|
Chris@102
|
40 #define BOOST_CONTAINER_STD_NS_END }
|
Chris@102
|
41 #endif
|
Chris@102
|
42
|
Chris@102
|
43 BOOST_CONTAINER_STD_NS_BEG
|
Chris@102
|
44
|
Chris@102
|
45 template<class T>
|
Chris@102
|
46 class allocator;
|
Chris@102
|
47
|
Chris@102
|
48 template<class T>
|
Chris@102
|
49 struct less;
|
Chris@102
|
50
|
Chris@102
|
51 template<class T1, class T2>
|
Chris@102
|
52 struct pair;
|
Chris@102
|
53
|
Chris@102
|
54 template<class T>
|
Chris@102
|
55 struct char_traits;
|
Chris@102
|
56
|
Chris@102
|
57 struct input_iterator_tag;
|
Chris@102
|
58 struct forward_iterator_tag;
|
Chris@102
|
59 struct bidirectional_iterator_tag;
|
Chris@102
|
60 struct random_access_iterator_tag;
|
Chris@102
|
61
|
Chris@102
|
62 template<class Container>
|
Chris@102
|
63 class insert_iterator;
|
Chris@102
|
64
|
Chris@102
|
65 struct allocator_arg_t;
|
Chris@102
|
66
|
Chris@102
|
67 BOOST_CONTAINER_STD_NS_END
|
Chris@102
|
68
|
Chris@102
|
69 #ifdef BOOST_CONTAINER_CLANG_INLINE_STD_NS
|
Chris@102
|
70 #pragma GCC diagnostic pop
|
Chris@102
|
71 #undef BOOST_CONTAINER_CLANG_INLINE_STD_NS
|
Chris@102
|
72 #endif //BOOST_CONTAINER_CLANG_INLINE_STD_NS
|
Chris@102
|
73
|
Chris@102
|
74 #endif //#ifndef BOOST_CONTAINER_DETAIL_STD_FWD_HPP
|