williamr@2
|
1 |
|
williamr@2
|
2 |
// Copyright Daniel James 2005-2006. Use, modification, and distribution are
|
williamr@2
|
3 |
// subject to the Boost Software License, Version 1.0. (See accompanying
|
williamr@2
|
4 |
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
williamr@2
|
5 |
|
williamr@2
|
6 |
#if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
|
williamr@2
|
7 |
#define BOOST_DETAIL_CONTAINER_FWD_HPP
|
williamr@2
|
8 |
|
williamr@2
|
9 |
#include <boost/config.hpp>
|
williamr@2
|
10 |
#include <boost/detail/workaround.hpp>
|
williamr@2
|
11 |
|
williamr@2
|
12 |
#if BOOST_WORKAROUND(__GNUC__, < 3) && !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION)
|
williamr@2
|
13 |
#define BOOST_HASH_CHAR_TRAITS string_char_traits
|
williamr@2
|
14 |
#else
|
williamr@2
|
15 |
#define BOOST_HASH_CHAR_TRAITS char_traits
|
williamr@2
|
16 |
#endif
|
williamr@2
|
17 |
|
williamr@2
|
18 |
#if (defined(__GLIBCXX__) && defined(_GLIBCXX_DEBUG)) \
|
williamr@2
|
19 |
|| BOOST_WORKAROUND(__BORLANDC__, > 0x551) \
|
williamr@2
|
20 |
|| BOOST_WORKAROUND(__DMC__, BOOST_TESTED_AT(0x842)) \
|
williamr@2
|
21 |
|| (defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION))
|
williamr@2
|
22 |
|
williamr@2
|
23 |
#include <deque>
|
williamr@2
|
24 |
#include <list>
|
williamr@2
|
25 |
#include <vector>
|
williamr@2
|
26 |
#include <map>
|
williamr@2
|
27 |
#include <set>
|
williamr@2
|
28 |
#include <bitset>
|
williamr@2
|
29 |
#include <string>
|
williamr@2
|
30 |
#include <complex>
|
williamr@2
|
31 |
|
williamr@2
|
32 |
#else
|
williamr@2
|
33 |
|
williamr@2
|
34 |
#include <cstddef>
|
williamr@2
|
35 |
|
williamr@2
|
36 |
#if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) && \
|
williamr@2
|
37 |
defined(__STL_CONFIG_H)
|
williamr@2
|
38 |
|
williamr@2
|
39 |
#define BOOST_CONTAINER_FWD_BAD_BITSET
|
williamr@2
|
40 |
|
williamr@2
|
41 |
#if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
|
williamr@2
|
42 |
#define BOOST_CONTAINER_FWD_BAD_DEQUE
|
williamr@2
|
43 |
#endif
|
williamr@2
|
44 |
|
williamr@2
|
45 |
#endif
|
williamr@2
|
46 |
|
williamr@2
|
47 |
#if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
williamr@2
|
48 |
#include <deque>
|
williamr@2
|
49 |
#endif
|
williamr@2
|
50 |
|
williamr@2
|
51 |
#if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
|
williamr@2
|
52 |
#include <bitset>
|
williamr@2
|
53 |
#endif
|
williamr@2
|
54 |
|
williamr@2
|
55 |
#if defined(BOOST_MSVC)
|
williamr@2
|
56 |
#pragma warning(push)
|
williamr@2
|
57 |
#pragma warning(disable:4099) // struct/class mismatch in fwd declarations
|
williamr@2
|
58 |
#endif
|
williamr@2
|
59 |
|
williamr@2
|
60 |
namespace std
|
williamr@2
|
61 |
{
|
williamr@2
|
62 |
template <class T> class allocator;
|
williamr@2
|
63 |
template <class charT, class traits, class Allocator> class basic_string;
|
williamr@2
|
64 |
template <class charT> struct BOOST_HASH_CHAR_TRAITS;
|
williamr@2
|
65 |
template <class T> class complex;
|
williamr@2
|
66 |
}
|
williamr@2
|
67 |
|
williamr@2
|
68 |
// gcc 3.4 and greater
|
williamr@2
|
69 |
namespace std
|
williamr@2
|
70 |
{
|
williamr@2
|
71 |
#if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
|
williamr@2
|
72 |
template <class T, class Allocator> class deque;
|
williamr@2
|
73 |
#endif
|
williamr@2
|
74 |
|
williamr@2
|
75 |
template <class T, class Allocator> class list;
|
williamr@2
|
76 |
template <class T, class Allocator> class vector;
|
williamr@2
|
77 |
template <class Key, class T, class Compare, class Allocator> class map;
|
williamr@2
|
78 |
template <class Key, class T, class Compare, class Allocator>
|
williamr@2
|
79 |
class multimap;
|
williamr@2
|
80 |
template <class Key, class Compare, class Allocator> class set;
|
williamr@2
|
81 |
template <class Key, class Compare, class Allocator> class multiset;
|
williamr@2
|
82 |
|
williamr@2
|
83 |
#if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
|
williamr@2
|
84 |
template <size_t N> class bitset;
|
williamr@2
|
85 |
#endif
|
williamr@2
|
86 |
template <class T1, class T2> struct pair;
|
williamr@2
|
87 |
}
|
williamr@2
|
88 |
|
williamr@2
|
89 |
#if defined(BOOST_MSVC)
|
williamr@2
|
90 |
#pragma warning(pop)
|
williamr@2
|
91 |
#endif
|
williamr@2
|
92 |
|
williamr@2
|
93 |
#endif
|
williamr@2
|
94 |
|
williamr@2
|
95 |
#endif
|