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.
6 // See http://www.boost.org for most recent version.
8 // Dinkumware standard library config:
10 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
12 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
13 #error This is not the Dinkumware lib!
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
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
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
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
40 // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
41 // and no <slist> at all
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
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
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
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
73 # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
75 # define BOOST_STDLIB "Dinkumware standard library version 1.x"