dinkumware.hpp
Go to the documentation of this file.
00001 //  (C) Copyright John Maddock 2001 - 2003.
00002 //  (C) Copyright Jens Maurer 2001.
00003 //  (C) Copyright Peter Dimov 2001.
00004 //  (C) Copyright David Abrahams 2002.
00005 //  (C) Copyright Guillaume Melquiond 2003.
00006 //  Use, modification and distribution are subject to the
00007 //  Boost Software License, Version 1.0. (See accompanying file
00008 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
00009 
00010 //  See http://www.boost.org for most recent version.
00011 
00012 //  Dinkumware standard library config:
00013 
00014 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
00015 #include <boost/config/no_tr1/utility.hpp>
00016 #if !defined(_YVALS) && !defined(_CPPLIB_VER)
00017 #error This is not the Dinkumware lib!
00018 #endif
00019 #endif
00020 
00021 
00022 #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
00023    // full dinkumware 3.06 and above
00024    // fully conforming provided the compiler supports it:
00025 #  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h
00026 #     define BOOST_NO_STDC_NAMESPACE
00027 #  endif
00028 #  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
00029 #     define BOOST_NO_STD_ALLOCATOR
00030 #  endif
00031 #  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
00032 #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
00033       // if this lib version is set up for vc6 then there is no std::use_facet:
00034 #     define BOOST_NO_STD_USE_FACET
00035 #     define BOOST_HAS_TWO_ARG_USE_FACET
00036       // C lib functions aren't in namespace std either:
00037 #     define BOOST_NO_STDC_NAMESPACE
00038       // and nor is <exception>
00039 #     define BOOST_NO_EXCEPTION_STD_NAMESPACE
00040 #  endif
00041 // There's no numeric_limits<long long> support unless _LONGLONG is defined:
00042 #  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
00043 #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
00044 #  endif
00045 // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
00046 // and no <slist> at all
00047 #else
00048 #  define BOOST_MSVC_STD_ITERATOR 1
00049 #  define BOOST_NO_STD_ITERATOR
00050 #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
00051 #  define BOOST_NO_STD_ALLOCATOR
00052 #  define BOOST_NO_STDC_NAMESPACE
00053 #  define BOOST_NO_STD_USE_FACET
00054 #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
00055 #  define BOOST_HAS_MACRO_USE_FACET
00056 #  ifndef _CPPLIB_VER
00057       // Updated Dinkum library defines this, and provides
00058       // its own min and max definitions.
00059 #     define BOOST_NO_STD_MIN_MAX
00060 #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
00061 #  endif
00062 #endif
00063 
00064 //
00065 // std extension namespace is stdext for vc7.1 and later, 
00066 // the same applies to other compilers that sit on top
00067 // of vc7.1 (Intel and Comeau):
00068 //
00069 #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
00070 #  define BOOST_STD_EXTENSION_NAMESPACE stdext
00071 #endif
00072 
00073 
00074 #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
00075    // if we're using a dinkum lib that's
00076    // been configured for VC6/7 then there is
00077    // no iterator traits (true even for icl)
00078 #  define BOOST_NO_STD_ITERATOR_TRAITS
00079 #endif
00080 
00081 //
00082 // No std::unordered_* containers yet:
00083 //
00084 #define BOOST_NO_STD_UNORDERED
00085 
00086 #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
00087 // Intel C++ chokes over any non-trivial use of <locale>
00088 // this may be an overly restrictive define, but regex fails without it:
00089 #  define BOOST_NO_STD_LOCALE
00090 #endif
00091 
00092 #ifdef _CPPLIB_VER
00093 #  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
00094 #else
00095 #  define BOOST_DINKUMWARE_STDLIB 1
00096 #endif
00097 
00098 #ifdef _CPPLIB_VER
00099 #  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
00100 #else
00101 #  define BOOST_STDLIB "Dinkumware standard library version 1.x"
00102 #endif
00103 
00104 
00105 
00106 
00107 
00108 
00109 
00110 
00111 


appl
Author(s): petercai
autogenerated on Tue Jan 7 2014 11:02:29