sl@0: // (C) Copyright John Maddock 2001 - 2003. sl@0: // (C) Copyright Jens Maurer 2001. sl@0: // (C) Copyright Peter Dimov 2001. sl@0: // (C) Copyright David Abrahams 2002. sl@0: // (C) Copyright Guillaume Melquiond 2003. sl@0: // Use, modification and distribution are subject to the sl@0: // Boost Software License, Version 1.0. (See accompanying file sl@0: // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) sl@0: sl@0: // See http://www.boost.org for most recent version. sl@0: sl@0: // Dinkumware standard library config: sl@0: sl@0: #if !defined(_YVALS) && !defined(_CPPLIB_VER) sl@0: #include sl@0: #if !defined(_YVALS) && !defined(_CPPLIB_VER) sl@0: #error This is not the Dinkumware lib! sl@0: #endif sl@0: #endif sl@0: sl@0: sl@0: #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) sl@0: // full dinkumware 3.06 and above sl@0: // fully conforming provided the compiler supports it: sl@0: # if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700)) // can be defined in yvals.h sl@0: # define BOOST_NO_STDC_NAMESPACE sl@0: # endif sl@0: # if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) sl@0: # define BOOST_NO_STD_ALLOCATOR sl@0: # endif sl@0: # define BOOST_HAS_PARTIAL_STD_ALLOCATOR sl@0: # if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) sl@0: // if this lib version is set up for vc6 then there is no std::use_facet: sl@0: # define BOOST_NO_STD_USE_FACET sl@0: # define BOOST_HAS_TWO_ARG_USE_FACET sl@0: // C lib functions aren't in namespace std either: sl@0: # define BOOST_NO_STDC_NAMESPACE sl@0: // and nor is sl@0: # define BOOST_NO_EXCEPTION_STD_NAMESPACE sl@0: # endif sl@0: // There's no numeric_limits support unless _LONGLONG is defined: sl@0: # if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) sl@0: # define BOOST_NO_MS_INT64_NUMERIC_LIMITS sl@0: # endif sl@0: // 3.06 appears to have (non-sgi versions of) & , sl@0: // and no at all sl@0: #else sl@0: # define BOOST_MSVC_STD_ITERATOR 1 sl@0: # define BOOST_NO_STD_ITERATOR sl@0: # define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS sl@0: # define BOOST_NO_STD_ALLOCATOR sl@0: # define BOOST_NO_STDC_NAMESPACE sl@0: # define BOOST_NO_STD_USE_FACET sl@0: # define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN sl@0: # define BOOST_HAS_MACRO_USE_FACET sl@0: # ifndef _CPPLIB_VER sl@0: // Updated Dinkum library defines this, and provides sl@0: // its own min and max definitions. sl@0: # define BOOST_NO_STD_MIN_MAX sl@0: # define BOOST_NO_MS_INT64_NUMERIC_LIMITS sl@0: # endif sl@0: #endif sl@0: sl@0: // sl@0: // std extension namespace is stdext for vc7.1 and later, sl@0: // the same applies to other compilers that sit on top sl@0: // of vc7.1 (Intel and Comeau): sl@0: // sl@0: #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) sl@0: # define BOOST_STD_EXTENSION_NAMESPACE stdext sl@0: #endif sl@0: sl@0: sl@0: #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) sl@0: // if we're using a dinkum lib that's sl@0: // been configured for VC6/7 then there is sl@0: // no iterator traits (true even for icl) sl@0: # define BOOST_NO_STD_ITERATOR_TRAITS sl@0: #endif sl@0: sl@0: #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) sl@0: // Intel C++ chokes over any non-trivial use of sl@0: // this may be an overly restrictive define, but regex fails without it: sl@0: # define BOOST_NO_STD_LOCALE sl@0: #endif sl@0: sl@0: #ifdef _CPPLIB_VER sl@0: # define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER sl@0: #else sl@0: # define BOOST_DINKUMWARE_STDLIB 1 sl@0: #endif sl@0: sl@0: #ifdef _CPPLIB_VER sl@0: # define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) sl@0: #else sl@0: # define BOOST_STDLIB "Dinkumware standard library version 1.x" sl@0: #endif sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: sl@0: