os/ossrv/ossrv_pub/boost_apis/boost/config/stdlib/roguewave.hpp
changeset 0 bde4ae8d615e
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/os/ossrv/ossrv_pub/boost_apis/boost/config/stdlib/roguewave.hpp	Fri Jun 15 03:10:57 2012 +0200
     1.3 @@ -0,0 +1,127 @@
     1.4 +//  (C) Copyright John Maddock 2001 - 2003. 
     1.5 +//  (C) Copyright Jens Maurer 2001. 
     1.6 +//  (C) Copyright David Abrahams 2003. 
     1.7 +//  Use, modification and distribution are subject to the 
     1.8 +//  Boost Software License, Version 1.0. (See accompanying file 
     1.9 +//  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
    1.10 +
    1.11 +//  See http://www.boost.org for most recent version.
    1.12 +
    1.13 +//  Rogue Wave std lib:
    1.14 +
    1.15 +#if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
    1.16 +#  include <boost/config/no_tr1/utility.hpp>
    1.17 +#  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER)
    1.18 +#     error This is not the Rogue Wave standard library
    1.19 +#  endif
    1.20 +#endif
    1.21 +//
    1.22 +// figure out a consistent version number:
    1.23 +//
    1.24 +#ifndef _RWSTD_VER
    1.25 +#  define BOOST_RWSTD_VER 0x010000
    1.26 +#elif _RWSTD_VER < 0x010000
    1.27 +#  define BOOST_RWSTD_VER (_RWSTD_VER << 8)
    1.28 +#else
    1.29 +#  define BOOST_RWSTD_VER _RWSTD_VER
    1.30 +#endif
    1.31 +
    1.32 +#ifndef _RWSTD_VER
    1.33 +#  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)"
    1.34 +#else
    1.35 +#  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER)
    1.36 +#endif
    1.37 +
    1.38 +//
    1.39 +// Prior to version 2.2.0 the primary template for std::numeric_limits
    1.40 +// does not have compile time constants, even though specializations of that
    1.41 +// template do:
    1.42 +//
    1.43 +#if BOOST_RWSTD_VER < 0x020200
    1.44 +#  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
    1.45 +#endif
    1.46 +
    1.47 +// Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the
    1.48 +// library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817):
    1.49 +#if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550))
    1.50 +#  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS
    1.51 +# endif
    1.52 +
    1.53 +//
    1.54 +// Borland version of numeric_limits lacks __int64 specialisation:
    1.55 +//
    1.56 +#ifdef __BORLANDC__
    1.57 +#  define BOOST_NO_MS_INT64_NUMERIC_LIMITS
    1.58 +#endif
    1.59 +
    1.60 +//
    1.61 +// No std::iterator if it can't figure out default template args:
    1.62 +//
    1.63 +#if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000)
    1.64 +#  define BOOST_NO_STD_ITERATOR
    1.65 +#endif
    1.66 +
    1.67 +//
    1.68 +// No iterator traits without partial specialization:
    1.69 +//
    1.70 +#if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC)
    1.71 +#  define BOOST_NO_STD_ITERATOR_TRAITS
    1.72 +#endif
    1.73 +
    1.74 +//
    1.75 +// Prior to version 2.0, std::auto_ptr was buggy, and there were no
    1.76 +// new-style iostreams, and no conformant std::allocator:
    1.77 +//
    1.78 +#if (BOOST_RWSTD_VER < 0x020000)
    1.79 +#  define BOOST_NO_AUTO_PTR
    1.80 +#  define BOOST_NO_STRINGSTREAM
    1.81 +#  define BOOST_NO_STD_ALLOCATOR
    1.82 +#  define BOOST_NO_STD_LOCALE
    1.83 +#endif
    1.84 +
    1.85 +//
    1.86 +// No template iterator constructors without member template support:
    1.87 +//
    1.88 +#if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES)
    1.89 +#  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
    1.90 +#endif
    1.91 +
    1.92 +//
    1.93 +// RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use
    1.94 +// (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR
    1.95 +// on HP aCC systems even though the allocator is in fact broken):
    1.96 +//
    1.97 +#if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100)
    1.98 +#  define BOOST_NO_STD_ALLOCATOR
    1.99 +#endif
   1.100 +
   1.101 +//
   1.102 +// If we have a std::locale, we still may not have std::use_facet:
   1.103 +//
   1.104 +#if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE)
   1.105 +#  define BOOST_NO_STD_USE_FACET
   1.106 +#  define BOOST_HAS_TWO_ARG_USE_FACET
   1.107 +#endif
   1.108 +
   1.109 +//
   1.110 +// There's no std::distance prior to version 2, or without
   1.111 +// partial specialization support:
   1.112 +//
   1.113 +#if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC)
   1.114 +    #define BOOST_NO_STD_DISTANCE
   1.115 +#endif
   1.116 +
   1.117 +//
   1.118 +// Some versions of the rogue wave library don't have assignable
   1.119 +// OutputIterators:
   1.120 +//
   1.121 +#if BOOST_RWSTD_VER < 0x020100
   1.122 +#  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
   1.123 +#endif
   1.124 +
   1.125 +//
   1.126 +// Disable BOOST_HAS_LONG_LONG when the library has no support for it.
   1.127 +//
   1.128 +#if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG)
   1.129 +#  undef BOOST_HAS_LONG_LONG
   1.130 +#endif