]> git.lyx.org Git - lyx.git/blob - boost/boost/config/stdlib/dinkumware.hpp
update boost to version 1.29.0
[lyx.git] / boost / boost / config / stdlib / dinkumware.hpp
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 //  Dinkumware standard library config:
9
10 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
11 #include <utility>
12 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
13 #error This is not the Dinkumware lib!
14 #endif
15 #endif
16
17
18 #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
19    // full dinkumware 3.06 and above
20    // fully conforming provided the compiler supports it:
21 #  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(_STD)   // can be defined in yvals.h
22 #     define BOOST_NO_STDC_NAMESPACE
23 #  endif
24 #  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300))
25 #     define BOOST_NO_STD_ALLOCATOR
26 #  endif
27 #  if defined(_MSC_VER) && (_MSC_VER < 1300)
28       // if this lib version is set up for vc6 then there is no std::use_facet:
29 #     define BOOST_NO_STD_USE_FACET
30 #     define BOOST_HAS_TWO_ARG_USE_FACET
31       // C lib functions aren't in namespace std either:
32 #     define BOOST_NO_STDC_NAMESPACE
33       // and nor is <exception>
34 #     define BOOST_NO_EXCEPTION_STD_NAMESPACE
35 #  endif
36 // There's no numeric_limits<long long> support unless _LONGLONG is defined:
37 #  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
38 #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
39 #  endif
40 // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>, 
41 // and no <slist> at all
42 #else
43 #  define BOOST_MSVC_STD_ITERATOR 1
44 #  define BOOST_NO_STD_ITERATOR
45 #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
46 #  define BOOST_NO_STD_ALLOCATOR
47 #  define BOOST_NO_STDC_NAMESPACE
48 #  define BOOST_NO_STD_USE_FACET
49 #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
50 #  define BOOST_HAS_MACRO_USE_FACET
51 #  ifndef _CPPLIB_VER
52       // Updated Dinkum library defines this, and provides
53       // its own min and max definitions.
54 #     define BOOST_NO_STD_MIN_MAX
55 #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
56 #  endif
57 #endif
58
59 #if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
60    // if we're using a dinkum lib that's
61    // been configured for VC6/7 then there is
62    // no iterator traits (true even for icl)
63 #  define BOOST_NO_STD_ITERATOR_TRAITS
64 #endif
65
66 #if defined(__ICL) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
67 // Intel C++ chokes over any non-trivial use of <locale>
68 // this may be an overly restrictive define, but regex fails without it:
69 #  define BOOST_NO_STD_LOCALE
70 #endif
71
72 #ifdef _CPPLIB_VER
73 #  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
74 #else
75 #  define BOOST_STDLIB "Dinkumware standard library version 1.x"
76 #endif
77
78
79
80
81
82