~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/config/stdlib/sgi.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

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