File indexing completed on 2025-01-18 09:30:41
0001
0002
0003
0004
0005
0006
0007
0008 #if !defined(BOOST_DETAIL_CONTAINER_FWD_HPP)
0009 #define BOOST_DETAIL_CONTAINER_FWD_HPP
0010
0011 #if defined(_MSC_VER) && \
0012 !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
0013 # pragma once
0014 #endif
0015
0016 #include <boost/config.hpp>
0017 #include <boost/detail/workaround.hpp>
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031 #if !defined(BOOST_DETAIL_NO_CONTAINER_FWD)
0032 # if defined(BOOST_DETAIL_CONTAINER_FWD)
0033
0034 # elif defined(__SGI_STL_PORT) || defined(_STLPORT_VERSION)
0035
0036 # define BOOST_DETAIL_NO_CONTAINER_FWD
0037 # elif defined(__LIBCOMO__)
0038
0039 # define BOOST_DETAIL_NO_CONTAINER_FWD
0040 # elif defined(__STD_RWCOMPILER_H__) || defined(_RWSTD_VER)
0041
0042 # define BOOST_DETAIL_NO_CONTAINER_FWD
0043 # elif defined(_LIBCPP_VERSION)
0044
0045 # define BOOST_DETAIL_NO_CONTAINER_FWD
0046 # elif defined(__GLIBCPP__) || defined(__GLIBCXX__)
0047
0048
0049
0050
0051 # if __GLIBCXX__ >= 20070513 \
0052 || defined(_GLIBCXX_DEBUG) \
0053 || defined(_GLIBCXX_PARALLEL) \
0054 || defined(_GLIBCXX_PROFILE)
0055 # define BOOST_DETAIL_NO_CONTAINER_FWD
0056 # else
0057 # if defined(__GLIBCXX__) && __GLIBCXX__ >= 20040530
0058 # define BOOST_CONTAINER_FWD_COMPLEX_STRUCT
0059 # endif
0060 # endif
0061 # elif defined(__STL_CONFIG_H)
0062
0063
0064
0065
0066 # define BOOST_CONTAINER_FWD_BAD_BITSET
0067 # if !defined(__STL_NON_TYPE_TMPL_PARAM_BUG)
0068 # define BOOST_CONTAINER_FWD_BAD_DEQUE
0069 # endif
0070 # elif defined(__MSL_CPP__)
0071
0072 # define BOOST_DETAIL_NO_CONTAINER_FWD
0073 # elif defined(__IBMCPP__)
0074
0075 # elif defined(MSIPL_COMPILE_H)
0076
0077 # define BOOST_DETAIL_NO_CONTAINER_FWD
0078 # elif (defined(_YVALS) && !defined(__IBMCPP__)) || defined(_CPPLIB_VER)
0079
0080
0081 # else
0082 # define BOOST_DETAIL_NO_CONTAINER_FWD
0083 # endif
0084 #endif
0085
0086 #if !defined(BOOST_DETAIL_TEST_CONFIG_ONLY)
0087
0088 #if defined(BOOST_DETAIL_NO_CONTAINER_FWD) && \
0089 !defined(BOOST_DETAIL_TEST_FORCE_CONTAINER_FWD)
0090
0091 #include <deque>
0092 #include <list>
0093 #include <vector>
0094 #include <map>
0095 #include <set>
0096 #include <bitset>
0097 #include <string>
0098 #include <complex>
0099
0100 #else
0101
0102 #include <cstddef>
0103
0104 #if defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
0105 #include <deque>
0106 #endif
0107
0108 #if defined(BOOST_CONTAINER_FWD_BAD_BITSET)
0109 #include <bitset>
0110 #endif
0111
0112 #if defined(BOOST_MSVC)
0113 #pragma warning(push)
0114 #pragma warning(disable:4099)
0115 #endif
0116
0117 namespace std
0118 {
0119 template <class T> class allocator;
0120 template <class charT, class traits, class Allocator> class basic_string;
0121
0122 template <class charT> struct char_traits;
0123
0124 #if defined(BOOST_CONTAINER_FWD_COMPLEX_STRUCT)
0125 template <class T> struct complex;
0126 #else
0127 template <class T> class complex;
0128 #endif
0129
0130 #if !defined(BOOST_CONTAINER_FWD_BAD_DEQUE)
0131 template <class T, class Allocator> class deque;
0132 #endif
0133
0134 template <class T, class Allocator> class list;
0135 template <class T, class Allocator> class vector;
0136 template <class Key, class T, class Compare, class Allocator> class map;
0137 template <class Key, class T, class Compare, class Allocator>
0138 class multimap;
0139 template <class Key, class Compare, class Allocator> class set;
0140 template <class Key, class Compare, class Allocator> class multiset;
0141
0142 #if !defined(BOOST_CONTAINER_FWD_BAD_BITSET)
0143 template <size_t N> class bitset;
0144 #endif
0145 template <class T1, class T2> struct pair;
0146 }
0147
0148 #if defined(BOOST_MSVC)
0149 #pragma warning(pop)
0150 #endif
0151
0152 #endif
0153
0154
0155 #endif
0156
0157 #endif