]> git.lyx.org Git - lyx.git/blob - boost/boost/config/stdlib/dinkumware.hpp
update from Boost CVS
[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))
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 #  endif
34 // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>, 
35 // and no <slist> at all
36 #else
37 #  define BOOST_MSVC_STD_ITERATOR 1
38 #  define BOOST_NO_STD_ITERATOR
39 #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
40 #  define BOOST_NO_STD_ALLOCATOR
41 #  define BOOST_NO_STDC_NAMESPACE
42 #  define BOOST_NO_STD_USE_FACET
43 #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
44 #  define BOOST_HAS_MACRO_USE_FACET
45 #  ifndef _CPPLIB_VER
46       // Updated Dinkum library defines this, and provides
47       // its own min and max definitions.
48 #     define BOOST_NO_STD_MIN_MAX
49 #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
50 #  endif
51 #endif
52
53 #if (defined(_MSC_VER) && (_MSC_VER <= 1300)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
54    // if we're using a dinkum lib that's
55    // been configured for VC6/7 then there is
56    // no iterator traits (true even for icl)
57 #  define BOOST_NO_STD_ITERATOR_TRAITS
58 #endif
59
60 #ifdef _CPPLIB_VER
61 #  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
62 #else
63 #  define BOOST_STDLIB "Dinkumware standard library version 1.x"
64 #endif
65
66
67
68