sl@0
|
1 |
// (C) Copyright John Maddock 2001 - 2003.
|
sl@0
|
2 |
// (C) Copyright Darin Adler 2001.
|
sl@0
|
3 |
// (C) Copyright Jens Maurer 2001 - 2003.
|
sl@0
|
4 |
// Use, modification and distribution are subject to the
|
sl@0
|
5 |
// Boost Software License, Version 1.0. (See accompanying file
|
sl@0
|
6 |
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
sl@0
|
7 |
|
sl@0
|
8 |
// See http://www.boost.org for most recent version.
|
sl@0
|
9 |
|
sl@0
|
10 |
// generic SGI STL:
|
sl@0
|
11 |
|
sl@0
|
12 |
#if !defined(__STL_CONFIG_H)
|
sl@0
|
13 |
# include <boost/config/no_tr1/utility.hpp>
|
sl@0
|
14 |
# if !defined(__STL_CONFIG_H)
|
sl@0
|
15 |
# error "This is not the SGI STL!"
|
sl@0
|
16 |
# endif
|
sl@0
|
17 |
#endif
|
sl@0
|
18 |
|
sl@0
|
19 |
//
|
sl@0
|
20 |
// No std::iterator traits without partial specialisation:
|
sl@0
|
21 |
//
|
sl@0
|
22 |
#if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION)
|
sl@0
|
23 |
# define BOOST_NO_STD_ITERATOR_TRAITS
|
sl@0
|
24 |
#endif
|
sl@0
|
25 |
|
sl@0
|
26 |
//
|
sl@0
|
27 |
// No std::stringstream with gcc < 3
|
sl@0
|
28 |
//
|
sl@0
|
29 |
#if defined(__GNUC__) && (__GNUC__ < 3) && \
|
sl@0
|
30 |
((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \
|
sl@0
|
31 |
!defined(__STL_USE_NEW_IOSTREAMS) || \
|
sl@0
|
32 |
defined(__APPLE_CC__)
|
sl@0
|
33 |
// Note that we only set this for GNU C++ prior to 2.95 since the
|
sl@0
|
34 |
// latest patches for that release do contain a minimal <sstream>
|
sl@0
|
35 |
// If you are running a 2.95 release prior to 2.95.3 then this will need
|
sl@0
|
36 |
// setting, but there is no way to detect that automatically (other
|
sl@0
|
37 |
// than by running the configure script).
|
sl@0
|
38 |
// Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't
|
sl@0
|
39 |
// have <sstream>.
|
sl@0
|
40 |
# define BOOST_NO_STRINGSTREAM
|
sl@0
|
41 |
#endif
|
sl@0
|
42 |
|
sl@0
|
43 |
//
|
sl@0
|
44 |
// Assume no std::locale without own iostreams (this may be an
|
sl@0
|
45 |
// incorrect assumption in some cases):
|
sl@0
|
46 |
//
|
sl@0
|
47 |
#if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS)
|
sl@0
|
48 |
# define BOOST_NO_STD_LOCALE
|
sl@0
|
49 |
#endif
|
sl@0
|
50 |
|
sl@0
|
51 |
//
|
sl@0
|
52 |
// Original native SGI streams have non-standard std::messages facet:
|
sl@0
|
53 |
//
|
sl@0
|
54 |
#if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS)
|
sl@0
|
55 |
# define BOOST_NO_STD_LOCALE
|
sl@0
|
56 |
#endif
|
sl@0
|
57 |
|
sl@0
|
58 |
//
|
sl@0
|
59 |
// SGI's new iostreams have missing "const" in messages<>::open
|
sl@0
|
60 |
//
|
sl@0
|
61 |
#if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS)
|
sl@0
|
62 |
# define BOOST_NO_STD_MESSAGES
|
sl@0
|
63 |
#endif
|
sl@0
|
64 |
|
sl@0
|
65 |
//
|
sl@0
|
66 |
// No template iterator constructors, or std::allocator
|
sl@0
|
67 |
// without member templates:
|
sl@0
|
68 |
//
|
sl@0
|
69 |
#if !defined(__STL_MEMBER_TEMPLATES)
|
sl@0
|
70 |
# define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
|
sl@0
|
71 |
# define BOOST_NO_STD_ALLOCATOR
|
sl@0
|
72 |
#endif
|
sl@0
|
73 |
|
sl@0
|
74 |
//
|
sl@0
|
75 |
// We always have SGI style hash_set, hash_map, and slist:
|
sl@0
|
76 |
//
|
sl@0
|
77 |
#define BOOST_HAS_HASH
|
sl@0
|
78 |
#define BOOST_HAS_SLIST
|
sl@0
|
79 |
|
sl@0
|
80 |
//
|
sl@0
|
81 |
// If this is GNU libstdc++2, then no <limits> and no std::wstring:
|
sl@0
|
82 |
//
|
sl@0
|
83 |
#if (defined(__GNUC__) && (__GNUC__ < 3))
|
sl@0
|
84 |
# include <string>
|
sl@0
|
85 |
# if defined(__BASTRING__)
|
sl@0
|
86 |
# define BOOST_NO_LIMITS
|
sl@0
|
87 |
// Note: <boost/limits.hpp> will provide compile-time constants
|
sl@0
|
88 |
# undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
|
sl@0
|
89 |
# define BOOST_NO_STD_WSTRING
|
sl@0
|
90 |
# endif
|
sl@0
|
91 |
#endif
|
sl@0
|
92 |
|
sl@0
|
93 |
//
|
sl@0
|
94 |
// There is no standard iterator unless we have namespace support:
|
sl@0
|
95 |
//
|
sl@0
|
96 |
#if !defined(__STL_USE_NAMESPACES)
|
sl@0
|
97 |
# define BOOST_NO_STD_ITERATOR
|
sl@0
|
98 |
#endif
|
sl@0
|
99 |
|
sl@0
|
100 |
//
|
sl@0
|
101 |
// Intrinsic type_traits support.
|
sl@0
|
102 |
// The SGI STL has it's own __type_traits class, which
|
sl@0
|
103 |
// has intrinsic compiler support with SGI's compilers.
|
sl@0
|
104 |
// Whatever map SGI style type traits to boost equivalents:
|
sl@0
|
105 |
//
|
sl@0
|
106 |
#define BOOST_HAS_SGI_TYPE_TRAITS
|
sl@0
|
107 |
|
sl@0
|
108 |
#define BOOST_STDLIB "SGI standard library"
|
sl@0
|
109 |
|
sl@0
|
110 |
|
sl@0
|
111 |
|