Added the parts of boost which we need to access shared_ptr and weak_ptr. This will allow for improved memory management of large volumes.
This commit is contained in:
		
							
								
								
									
										111
									
								
								library/include/boost/config/stdlib/dinkumware.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								library/include/boost/config/stdlib/dinkumware.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,111 @@ | ||||
| //  (C) Copyright John Maddock 2001 - 2003. | ||||
| //  (C) Copyright Jens Maurer 2001. | ||||
| //  (C) Copyright Peter Dimov 2001. | ||||
| //  (C) Copyright David Abrahams 2002. | ||||
| //  (C) Copyright Guillaume Melquiond 2003. | ||||
| //  Use, modification and distribution are subject to the | ||||
| //  Boost Software License, Version 1.0. (See accompanying file | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  Dinkumware standard library config: | ||||
|  | ||||
| #if !defined(_YVALS) && !defined(_CPPLIB_VER) | ||||
| #include <boost/config/no_tr1/utility.hpp> | ||||
| #if !defined(_YVALS) && !defined(_CPPLIB_VER) | ||||
| #error This is not the Dinkumware lib! | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306) | ||||
|    // full dinkumware 3.06 and above | ||||
|    // fully conforming provided the compiler supports it: | ||||
| #  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h | ||||
| #     define BOOST_NO_STDC_NAMESPACE | ||||
| #  endif | ||||
| #  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC) | ||||
| #     define BOOST_NO_STD_ALLOCATOR | ||||
| #  endif | ||||
| #  define BOOST_HAS_PARTIAL_STD_ALLOCATOR | ||||
| #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300) | ||||
|       // if this lib version is set up for vc6 then there is no std::use_facet: | ||||
| #     define BOOST_NO_STD_USE_FACET | ||||
| #     define BOOST_HAS_TWO_ARG_USE_FACET | ||||
|       // C lib functions aren't in namespace std either: | ||||
| #     define BOOST_NO_STDC_NAMESPACE | ||||
|       // and nor is <exception> | ||||
| #     define BOOST_NO_EXCEPTION_STD_NAMESPACE | ||||
| #  endif | ||||
| // There's no numeric_limits<long long> support unless _LONGLONG is defined: | ||||
| #  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310) | ||||
| #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS | ||||
| #  endif | ||||
| // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>, | ||||
| // and no <slist> at all | ||||
| #else | ||||
| #  define BOOST_MSVC_STD_ITERATOR 1 | ||||
| #  define BOOST_NO_STD_ITERATOR | ||||
| #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #  define BOOST_NO_STDC_NAMESPACE | ||||
| #  define BOOST_NO_STD_USE_FACET | ||||
| #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN | ||||
| #  define BOOST_HAS_MACRO_USE_FACET | ||||
| #  ifndef _CPPLIB_VER | ||||
|       // Updated Dinkum library defines this, and provides | ||||
|       // its own min and max definitions. | ||||
| #     define BOOST_NO_STD_MIN_MAX | ||||
| #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // std extension namespace is stdext for vc7.1 and later,  | ||||
| // the same applies to other compilers that sit on top | ||||
| // of vc7.1 (Intel and Comeau): | ||||
| // | ||||
| #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__) | ||||
| #  define BOOST_STD_EXTENSION_NAMESPACE stdext | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306) | ||||
|    // if we're using a dinkum lib that's | ||||
|    // been configured for VC6/7 then there is | ||||
|    // no iterator traits (true even for icl) | ||||
| #  define BOOST_NO_STD_ITERATOR_TRAITS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No std::unordered_* containers yet: | ||||
| // | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
| #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310) | ||||
| // Intel C++ chokes over any non-trivial use of <locale> | ||||
| // this may be an overly restrictive define, but regex fails without it: | ||||
| #  define BOOST_NO_STD_LOCALE | ||||
| #endif | ||||
|  | ||||
| #ifdef _CPPLIB_VER | ||||
| #  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER | ||||
| #else | ||||
| #  define BOOST_DINKUMWARE_STDLIB 1 | ||||
| #endif | ||||
|  | ||||
| #ifdef _CPPLIB_VER | ||||
| #  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER) | ||||
| #else | ||||
| #  define BOOST_STDLIB "Dinkumware standard library version 1.x" | ||||
| #endif | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										50
									
								
								library/include/boost/config/stdlib/libcomo.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								library/include/boost/config/stdlib/libcomo.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,50 @@ | ||||
| //  (C) Copyright John Maddock 2002 - 2003.  | ||||
| //  (C) Copyright Jens Maurer 2002 - 2003.  | ||||
| //  (C) Copyright Beman Dawes 2002 - 2003.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  Comeau STL: | ||||
|  | ||||
| #if !defined(__LIBCOMO__) | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  if !defined(__LIBCOMO__) | ||||
| #      error "This is not the Comeau STL!" | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // std::streambuf<wchar_t> is non-standard | ||||
| // NOTE: versions of libcomo prior to beta28 have octal version numbering, | ||||
| // e.g. version 25 is 21 (dec) | ||||
| #if __LIBCOMO_VERSION__ <= 22 | ||||
| #  define BOOST_NO_STD_WSTREAMBUF | ||||
| #endif | ||||
|  | ||||
| #if (__LIBCOMO_VERSION__ <= 31) && defined(_WIN32) | ||||
| #define BOOST_NO_SWPRINTF | ||||
| #endif | ||||
|  | ||||
| #if __LIBCOMO_VERSION__ >= 31 | ||||
| #  define BOOST_HAS_HASH | ||||
| #  define BOOST_HAS_SLIST | ||||
| #endif | ||||
| // | ||||
| // We never have the new C++0x unordered containers: | ||||
| // | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
| // | ||||
| // Intrinsic type_traits support. | ||||
| // The SGI STL has it's own __type_traits class, which | ||||
| // has intrinsic compiler support with SGI's compilers. | ||||
| // Whatever map SGI style type traits to boost equivalents: | ||||
| // | ||||
| #define BOOST_HAS_SGI_TYPE_TRAITS | ||||
|  | ||||
| #define BOOST_STDLIB "Comeau standard library " BOOST_STRINGIZE(__LIBCOMO_VERSION__) | ||||
|  | ||||
|  | ||||
							
								
								
									
										83
									
								
								library/include/boost/config/stdlib/libstdcpp3.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										83
									
								
								library/include/boost/config/stdlib/libstdcpp3.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,83 @@ | ||||
| //  (C) Copyright John Maddock 2001. | ||||
| //  (C) Copyright Jens Maurer 2001. | ||||
| //  Use, modification and distribution are subject to the | ||||
| //  Boost Software License, Version 1.0. (See accompanying file | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  config for libstdc++ v3 | ||||
| //  not much to go in here: | ||||
|  | ||||
| #ifdef __GLIBCXX__ | ||||
| #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCXX__) | ||||
| #else | ||||
| #define BOOST_STDLIB "GNU libstdc++ version " BOOST_STRINGIZE(__GLIBCPP__) | ||||
| #endif | ||||
|  | ||||
| #if !defined(_GLIBCPP_USE_WCHAR_T) && !defined(_GLIBCXX_USE_WCHAR_T) | ||||
| #  define BOOST_NO_CWCHAR | ||||
| #  define BOOST_NO_CWCTYPE | ||||
| #  define BOOST_NO_STD_WSTRING | ||||
| #  define BOOST_NO_STD_WSTREAMBUF | ||||
| #endif | ||||
|  | ||||
| #if defined(__osf__) && !defined(_REENTRANT) \ | ||||
|   && ( defined(_GLIBCXX_HAVE_GTHR_DEFAULT) || defined(_GLIBCPP_HAVE_GTHR_DEFAULT) ) | ||||
| // GCC 3 on Tru64 forces the definition of _REENTRANT when any std lib header | ||||
| // file is included, therefore for consistency we define it here as well. | ||||
| #  define _REENTRANT | ||||
| #endif | ||||
|  | ||||
| #ifdef __GLIBCXX__ // gcc 3.4 and greater: | ||||
| #  if defined(_GLIBCXX_HAVE_GTHR_DEFAULT) \ | ||||
|         || defined(_GLIBCXX__PTHREADS) | ||||
|       // | ||||
|       // If the std lib has thread support turned on, then turn it on in Boost | ||||
|       // as well.  We do this because some gcc-3.4 std lib headers define _REENTANT | ||||
|       // while others do not... | ||||
|       // | ||||
| #     define BOOST_HAS_THREADS | ||||
| #  else | ||||
| #     define BOOST_DISABLE_THREADS | ||||
| #  endif | ||||
| #elif defined(__GLIBCPP__) \ | ||||
|         && !defined(_GLIBCPP_HAVE_GTHR_DEFAULT) \ | ||||
|         && !defined(_GLIBCPP__PTHREADS) | ||||
|    // disable thread support if the std lib was built single threaded: | ||||
| #  define BOOST_DISABLE_THREADS | ||||
| #endif | ||||
|  | ||||
| #if (defined(linux) || defined(__linux) || defined(__linux__)) && defined(__arm__) && defined(_GLIBCPP_HAVE_GTHR_DEFAULT) | ||||
| // linux on arm apparently doesn't define _REENTRANT | ||||
| // so just turn on threading support whenever the std lib is thread safe: | ||||
| #  define BOOST_HAS_THREADS | ||||
| #endif | ||||
|  | ||||
|  | ||||
| #if !defined(_GLIBCPP_USE_LONG_LONG) \ | ||||
|     && !defined(_GLIBCXX_USE_LONG_LONG)\ | ||||
|     && defined(BOOST_HAS_LONG_LONG) | ||||
| // May have been set by compiler/*.hpp, but "long long" without library | ||||
| // support is useless. | ||||
| #  undef BOOST_HAS_LONG_LONG | ||||
| #endif | ||||
|  | ||||
| #if defined(__GLIBCXX__) || (defined(__GLIBCPP__) && __GLIBCPP__>=20020514) // GCC >= 3.1.0 | ||||
| #  define BOOST_STD_EXTENSION_NAMESPACE __gnu_cxx | ||||
| #  define BOOST_HAS_SLIST | ||||
| #  define BOOST_HAS_HASH | ||||
| #  define BOOST_SLIST_HEADER <ext/slist> | ||||
| # if !defined(__GNUC__) || __GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 3) | ||||
| #   define BOOST_HASH_SET_HEADER <ext/hash_set> | ||||
| #   define BOOST_HASH_MAP_HEADER <ext/hash_map> | ||||
| # else | ||||
| #   define BOOST_HASH_SET_HEADER <backward/hash_set> | ||||
| #   define BOOST_HASH_MAP_HEADER <backward/hash_map> | ||||
| # endif | ||||
| #endif | ||||
|  | ||||
| #ifndef __GXX_EXPERIMENTAL_CXX0X__ | ||||
| #  define BOOST_NO_STD_UNORDERED | ||||
| #endif | ||||
|  | ||||
							
								
								
									
										34
									
								
								library/include/boost/config/stdlib/modena.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										34
									
								
								library/include/boost/config/stdlib/modena.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,34 @@ | ||||
| //  (C) Copyright Jens Maurer 2001.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  Modena C++ standard library (comes with KAI C++) | ||||
|  | ||||
| #if !defined(MSIPL_COMPILE_H) | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  if !defined(__MSIPL_COMPILE_H) | ||||
| #      error "This is not the Modena C++ library!" | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| #ifndef MSIPL_NL_TYPES | ||||
| #define BOOST_NO_STD_MESSAGES | ||||
| #endif | ||||
|  | ||||
| #ifndef MSIPL_WCHART | ||||
| #define BOOST_NO_STD_WSTRING | ||||
| #endif | ||||
| // | ||||
| // We never have the new C++0x unordered containers: | ||||
| // | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
| #define BOOST_STDLIB "Modena C++ standard library" | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										63
									
								
								library/include/boost/config/stdlib/msl.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								library/include/boost/config/stdlib/msl.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | ||||
| //  (C) Copyright John Maddock 2001.  | ||||
| //  (C) Copyright Darin Adler 2001.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  Metrowerks standard library: | ||||
|  | ||||
| #ifndef __MSL_CPP__ | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  ifndef __MSL_CPP__ | ||||
| #     error This is not the MSL standard library! | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| #if __MSL_CPP__ >= 0x6000  // Pro 6 | ||||
| #  define BOOST_HAS_HASH | ||||
| #  define BOOST_STD_EXTENSION_NAMESPACE Metrowerks | ||||
| #endif | ||||
| #define BOOST_HAS_SLIST | ||||
|  | ||||
| #if __MSL_CPP__ < 0x6209 | ||||
| #  define BOOST_NO_STD_MESSAGES | ||||
| #endif | ||||
|  | ||||
| // check C lib version for <stdint.h> | ||||
| #include <cstddef> | ||||
|  | ||||
| #if defined(__MSL__) && (__MSL__ >= 0x5000) | ||||
| #  define BOOST_HAS_STDINT_H | ||||
| #  if !defined(__PALMOS_TRAPS__) | ||||
| #    define BOOST_HAS_UNISTD_H | ||||
| #  endif | ||||
|    // boilerplate code: | ||||
| #  include <boost/config/posix_features.hpp> | ||||
| #endif | ||||
|  | ||||
| #if defined(_MWMT) || _MSL_THREADSAFE | ||||
| #  define BOOST_HAS_THREADS | ||||
| #endif | ||||
|  | ||||
| #ifdef _MSL_NO_EXPLICIT_FUNC_TEMPLATE_ARG | ||||
| #  define BOOST_NO_STD_USE_FACET | ||||
| #  define BOOST_HAS_TWO_ARG_USE_FACET | ||||
| #endif | ||||
| // | ||||
| // We never have the new C++0x unordered containers: | ||||
| // | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
|  | ||||
| #define BOOST_STDLIB "Metrowerks Standard Library version " BOOST_STRINGIZE(__MSL_CPP__) | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										159
									
								
								library/include/boost/config/stdlib/roguewave.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										159
									
								
								library/include/boost/config/stdlib/roguewave.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,159 @@ | ||||
| //  (C) Copyright John Maddock 2001 - 2003.  | ||||
| //  (C) Copyright Jens Maurer 2001.  | ||||
| //  (C) Copyright David Abrahams 2003.  | ||||
| //  (C) Copyright Boris Gubenko 2007.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  Rogue Wave std lib: | ||||
|  | ||||
| #if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  if !defined(__STD_RWCOMPILER_H__) && !defined(_RWSTD_VER) | ||||
| #     error This is not the Rogue Wave standard library | ||||
| #  endif | ||||
| #endif | ||||
| // | ||||
| // figure out a consistent version number: | ||||
| // | ||||
| #ifndef _RWSTD_VER | ||||
| #  define BOOST_RWSTD_VER 0x010000 | ||||
| #elif _RWSTD_VER < 0x010000 | ||||
| #  define BOOST_RWSTD_VER (_RWSTD_VER << 8) | ||||
| #else | ||||
| #  define BOOST_RWSTD_VER _RWSTD_VER | ||||
| #endif | ||||
|  | ||||
| #ifndef _RWSTD_VER | ||||
| #  define BOOST_STDLIB "Rogue Wave standard library version (Unknown version)" | ||||
| #elif _RWSTD_VER < 0x04010200 | ||||
|  #  define BOOST_STDLIB "Rogue Wave standard library version " BOOST_STRINGIZE(_RWSTD_VER) | ||||
| #else | ||||
| #  ifdef _RWSTD_VER_STR | ||||
| #    define BOOST_STDLIB "Apache STDCXX standard library version " _RWSTD_VER_STR | ||||
| #  else | ||||
| #    define BOOST_STDLIB "Apache STDCXX standard library version " BOOST_STRINGIZE(_RWSTD_VER) | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Prior to version 2.2.0 the primary template for std::numeric_limits | ||||
| // does not have compile time constants, even though specializations of that | ||||
| // template do: | ||||
| // | ||||
| #if BOOST_RWSTD_VER < 0x020200 | ||||
| #  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS | ||||
| #endif | ||||
|  | ||||
| // Sun CC 5.5 patch 113817-07 adds long long specialization, but does not change the | ||||
| // library version number (http://sunsolve6.sun.com/search/document.do?assetkey=1-21-113817): | ||||
| #if BOOST_RWSTD_VER <= 0x020101 && (!defined(__SUNPRO_CC) || (__SUNPRO_CC < 0x550)) | ||||
| #  define BOOST_NO_LONG_LONG_NUMERIC_LIMITS | ||||
| # endif | ||||
|  | ||||
| // | ||||
| // Borland version of numeric_limits lacks __int64 specialisation: | ||||
| // | ||||
| #ifdef __BORLANDC__ | ||||
| #  define BOOST_NO_MS_INT64_NUMERIC_LIMITS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No std::iterator if it can't figure out default template args: | ||||
| // | ||||
| #if defined(_RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || defined(RWSTD_NO_SIMPLE_DEFAULT_TEMPLATES) || (BOOST_RWSTD_VER < 0x020000) | ||||
| #  define BOOST_NO_STD_ITERATOR | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No iterator traits without partial specialization: | ||||
| // | ||||
| #if defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) || defined(RWSTD_NO_CLASS_PARTIAL_SPEC) | ||||
| #  define BOOST_NO_STD_ITERATOR_TRAITS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Prior to version 2.0, std::auto_ptr was buggy, and there were no | ||||
| // new-style iostreams, and no conformant std::allocator: | ||||
| // | ||||
| #if (BOOST_RWSTD_VER < 0x020000) | ||||
| #  define BOOST_NO_AUTO_PTR | ||||
| #  define BOOST_NO_STRINGSTREAM | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #  define BOOST_NO_STD_LOCALE | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No template iterator constructors without member template support: | ||||
| // | ||||
| #if defined(RWSTD_NO_MEMBER_TEMPLATES) || defined(_RWSTD_NO_MEMBER_TEMPLATES) | ||||
| #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // RW defines _RWSTD_ALLOCATOR if the allocator is conformant and in use | ||||
| // (the or _HPACC_ part is a hack - the library seems to define _RWSTD_ALLOCATOR | ||||
| // on HP aCC systems even though the allocator is in fact broken): | ||||
| // | ||||
| #if !defined(_RWSTD_ALLOCATOR) || (defined(__HP_aCC) && __HP_aCC <= 33100) | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If we have a std::locale, we still may not have std::use_facet: | ||||
| // | ||||
| #if defined(_RWSTD_NO_TEMPLATE_ON_RETURN_TYPE) && !defined(BOOST_NO_STD_LOCALE) | ||||
| #  define BOOST_NO_STD_USE_FACET | ||||
| #  define BOOST_HAS_TWO_ARG_USE_FACET | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // There's no std::distance prior to version 2, or without | ||||
| // partial specialization support: | ||||
| // | ||||
| #if (BOOST_RWSTD_VER < 0x020000) || defined(_RWSTD_NO_CLASS_PARTIAL_SPEC) | ||||
|     #define BOOST_NO_STD_DISTANCE | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Some versions of the rogue wave library don't have assignable | ||||
| // OutputIterators: | ||||
| // | ||||
| #if BOOST_RWSTD_VER < 0x020100 | ||||
| #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Disable BOOST_HAS_LONG_LONG when the library has no support for it. | ||||
| // | ||||
| #if !defined(_RWSTD_LONG_LONG) && defined(BOOST_HAS_LONG_LONG) | ||||
| #  undef BOOST_HAS_LONG_LONG | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // check that on HP-UX, the proper RW library is used | ||||
| // | ||||
| #if defined(__HP_aCC) && !defined(_HP_NAMESPACE_STD) | ||||
| #  error "Boost requires Standard RW library. Please compile and link with -AA" | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Define macros specific to RW V2.2 on HP-UX | ||||
| // | ||||
| #if defined(__HP_aCC) && (BOOST_RWSTD_VER == 0x02020100) | ||||
| #  ifndef __HP_TC1_MAKE_PAIR | ||||
| #    define __HP_TC1_MAKE_PAIR | ||||
| #  endif | ||||
| #  ifndef _HP_INSTANTIATE_STD2_VL | ||||
| #    define _HP_INSTANTIATE_STD2_VL | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // We never have the new C++0x unordered containers: | ||||
| // | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
							
								
								
									
										112
									
								
								library/include/boost/config/stdlib/sgi.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								library/include/boost/config/stdlib/sgi.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,112 @@ | ||||
| //  (C) Copyright John Maddock 2001 - 2003.  | ||||
| //  (C) Copyright Darin Adler 2001.  | ||||
| //  (C) Copyright Jens Maurer 2001 - 2003.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  generic SGI STL: | ||||
|  | ||||
| #if !defined(__STL_CONFIG_H) | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  if !defined(__STL_CONFIG_H) | ||||
| #      error "This is not the SGI STL!" | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No std::iterator traits without partial specialisation: | ||||
| // | ||||
| #if !defined(__STL_CLASS_PARTIAL_SPECIALIZATION) | ||||
| #  define BOOST_NO_STD_ITERATOR_TRAITS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No std::stringstream with gcc < 3 | ||||
| // | ||||
| #if defined(__GNUC__) && (__GNUC__ < 3) && \ | ||||
|      ((__GNUC_MINOR__ < 95) || (__GNUC_MINOR__ == 96)) && \ | ||||
|      !defined(__STL_USE_NEW_IOSTREAMS) || \ | ||||
|    defined(__APPLE_CC__) | ||||
|    // Note that we only set this for GNU C++ prior to 2.95 since the | ||||
|    // latest patches for that release do contain a minimal <sstream> | ||||
|    // If you are running a 2.95 release prior to 2.95.3 then this will need | ||||
|    // setting, but there is no way to detect that automatically (other | ||||
|    // than by running the configure script). | ||||
|    // Also, the unofficial GNU C++ 2.96 included in RedHat 7.1 doesn't | ||||
|    // have <sstream>. | ||||
| #  define BOOST_NO_STRINGSTREAM | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Assume no std::locale without own iostreams (this may be an | ||||
| // incorrect assumption in some cases): | ||||
| // | ||||
| #if !defined(__SGI_STL_OWN_IOSTREAMS) && !defined(__STL_USE_NEW_IOSTREAMS) | ||||
| #  define BOOST_NO_STD_LOCALE | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Original native SGI streams have non-standard std::messages facet: | ||||
| // | ||||
| #if defined(__sgi) && (_COMPILER_VERSION <= 650) && !defined(__SGI_STL_OWN_IOSTREAMS) | ||||
| #  define BOOST_NO_STD_LOCALE | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // SGI's new iostreams have missing "const" in messages<>::open | ||||
| // | ||||
| #if defined(__sgi) && (_COMPILER_VERSION <= 740) && defined(__STL_USE_NEW_IOSTREAMS) | ||||
| #  define BOOST_NO_STD_MESSAGES | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No template iterator constructors, or std::allocator | ||||
| // without member templates: | ||||
| // | ||||
| #if !defined(__STL_MEMBER_TEMPLATES) | ||||
| #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // We always have SGI style hash_set, hash_map, and slist: | ||||
| // | ||||
| #define BOOST_HAS_HASH | ||||
| #define BOOST_HAS_SLIST | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
| // | ||||
| // If this is GNU libstdc++2, then no <limits> and no std::wstring: | ||||
| // | ||||
| #if (defined(__GNUC__) && (__GNUC__ < 3)) | ||||
| #  include <string> | ||||
| #  if defined(__BASTRING__) | ||||
| #     define BOOST_NO_LIMITS | ||||
| // Note: <boost/limits.hpp> will provide compile-time constants | ||||
| #     undef BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS | ||||
| #     define BOOST_NO_STD_WSTRING | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // There is no standard iterator unless we have namespace support: | ||||
| // | ||||
| #if !defined(__STL_USE_NAMESPACES) | ||||
| #  define BOOST_NO_STD_ITERATOR | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Intrinsic type_traits support. | ||||
| // The SGI STL has it's own __type_traits class, which | ||||
| // has intrinsic compiler support with SGI's compilers. | ||||
| // Whatever map SGI style type traits to boost equivalents: | ||||
| // | ||||
| #define BOOST_HAS_SGI_TYPE_TRAITS | ||||
|  | ||||
| #define BOOST_STDLIB "SGI standard library" | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										206
									
								
								library/include/boost/config/stdlib/stlport.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										206
									
								
								library/include/boost/config/stdlib/stlport.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,206 @@ | ||||
| //  (C) Copyright John Maddock 2001 - 2002.  | ||||
| //  (C) Copyright Darin Adler 2001.  | ||||
| //  (C) Copyright Jens Maurer 2001.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| //  STLPort standard library config: | ||||
|  | ||||
| #if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) | ||||
| #  include <boost/config/no_tr1/utility.hpp> | ||||
| #  if !defined(__SGI_STL_PORT) && !defined(_STLPORT_VERSION) | ||||
| #      error "This is not STLPort!" | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // __STL_STATIC_CONST_INIT_BUG implies BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS | ||||
| // for versions prior to 4.1(beta) | ||||
| // | ||||
| #if (defined(__STL_STATIC_CONST_INIT_BUG) || defined(_STLP_STATIC_CONST_INIT_BUG)) && (__SGI_STL_PORT <= 0x400) | ||||
| #  define BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If STLport thinks that there is no partial specialisation, then there is no | ||||
| // std::iterator traits: | ||||
| // | ||||
| #if !(defined(_STLP_CLASS_PARTIAL_SPECIALIZATION) || defined(__STL_CLASS_PARTIAL_SPECIALIZATION)) | ||||
| #  define BOOST_NO_STD_ITERATOR_TRAITS | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No new style iostreams on GCC without STLport's iostreams enabled: | ||||
| // | ||||
| #if (defined(__GNUC__) && (__GNUC__ < 3)) && !(defined(__SGI_STL_OWN_IOSTREAMS) || defined(_STLP_OWN_IOSTREAMS)) | ||||
| #  define BOOST_NO_STRINGSTREAM | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // No new iostreams implies no std::locale, and no std::stringstream: | ||||
| // | ||||
| #if defined(__STL_NO_IOSTREAMS) || defined(__STL_NO_NEW_IOSTREAMS) || defined(_STLP_NO_IOSTREAMS) || defined(_STLP_NO_NEW_IOSTREAMS) | ||||
| #  define BOOST_NO_STD_LOCALE | ||||
| #  define BOOST_NO_STRINGSTREAM | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If the streams are not native, and we have a "using ::x" compiler bug | ||||
| // then the io stream facets are not available in namespace std:: | ||||
| // | ||||
| #ifdef _STLPORT_VERSION | ||||
| #  if !(_STLPORT_VERSION >= 0x500) && !defined(_STLP_OWN_IOSTREAMS) && defined(_STLP_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) | ||||
| #     define BOOST_NO_STD_LOCALE | ||||
| #  endif | ||||
| #else | ||||
| #  if !defined(__SGI_STL_OWN_IOSTREAMS) && defined(__STL_USE_NAMESPACES) && defined(BOOST_NO_USING_TEMPLATE) && !defined(__BORLANDC__) | ||||
| #     define BOOST_NO_STD_LOCALE | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| #if defined(_STLPORT_VERSION) && (_STLPORT_VERSION < 0x500) | ||||
| #  define BOOST_NO_STD_UNORDERED | ||||
| #endif | ||||
| // | ||||
| // Without member template support enabled, their are no template | ||||
| // iterate constructors, and no std::allocator: | ||||
| // | ||||
| #if !(defined(__STL_MEMBER_TEMPLATES) || defined(_STLP_MEMBER_TEMPLATES)) | ||||
| #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
| // | ||||
| // however we always have at least a partial allocator: | ||||
| // | ||||
| #define BOOST_HAS_PARTIAL_STD_ALLOCATOR | ||||
|  | ||||
| #if !defined(_STLP_MEMBER_TEMPLATE_CLASSES) || defined(_STLP_DONT_SUPPORT_REBIND_MEMBER_TEMPLATE) | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
|  | ||||
| #if defined(_STLP_NO_MEMBER_TEMPLATE_KEYWORD) && defined(BOOST_MSVC) && (BOOST_MSVC <= 1300) | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If STLport thinks there is no wchar_t at all, then we have to disable | ||||
| // the support for the relevant specilazations of std:: templates. | ||||
| // | ||||
| #if !defined(_STLP_HAS_WCHAR_T) && !defined(_STLP_WCHAR_T_IS_USHORT) | ||||
| #  ifndef  BOOST_NO_STD_WSTRING | ||||
| #     define BOOST_NO_STD_WSTRING | ||||
| #  endif | ||||
| #  ifndef  BOOST_NO_STD_WSTREAMBUF | ||||
| #     define BOOST_NO_STD_WSTREAMBUF | ||||
| #  endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // We always have SGI style hash_set, hash_map, and slist: | ||||
| // | ||||
| #ifndef _STLP_NO_EXTENSIONS | ||||
| #define BOOST_HAS_HASH | ||||
| #define BOOST_HAS_SLIST | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // STLport does a good job of importing names into namespace std::, | ||||
| // but doesn't always get them all, define BOOST_NO_STDC_NAMESPACE, since our | ||||
| // workaround does not conflict with STLports: | ||||
| // | ||||
| // | ||||
| // Harold Howe says: | ||||
| // Borland switched to STLport in BCB6. Defining BOOST_NO_STDC_NAMESPACE with | ||||
| // BCB6 does cause problems. If we detect C++ Builder, then don't define  | ||||
| // BOOST_NO_STDC_NAMESPACE | ||||
| // | ||||
| #if !defined(__BORLANDC__) && !defined(__DMC__) | ||||
| // | ||||
| // If STLport is using it's own namespace, and the real names are in | ||||
| // the global namespace, then we duplicate STLport's using declarations | ||||
| // (by defining BOOST_NO_STDC_NAMESPACE), we do this because STLport doesn't | ||||
| // necessarily import all the names we need into namespace std:: | ||||
| //  | ||||
| #  if (defined(__STL_IMPORT_VENDOR_CSTD) \ | ||||
|          || defined(__STL_USE_OWN_NAMESPACE) \ | ||||
|          || defined(_STLP_IMPORT_VENDOR_CSTD) \ | ||||
|          || defined(_STLP_USE_OWN_NAMESPACE)) \ | ||||
|       && (defined(__STL_VENDOR_GLOBAL_CSTD) || defined (_STLP_VENDOR_GLOBAL_CSTD)) | ||||
| #     define BOOST_NO_STDC_NAMESPACE | ||||
| #     define BOOST_NO_EXCEPTION_STD_NAMESPACE | ||||
| #  endif | ||||
| #elif defined(__BORLANDC__) && __BORLANDC__ < 0x560 | ||||
| // STLport doesn't import std::abs correctly: | ||||
| #include <stdlib.h> | ||||
| namespace std { using ::abs; } | ||||
| // and strcmp/strcpy don't get imported either ('cos they are macros) | ||||
| #include <string.h> | ||||
| #ifdef strcpy | ||||
| #  undef strcpy | ||||
| #endif | ||||
| #ifdef strcmp | ||||
| #  undef strcmp | ||||
| #endif | ||||
| #ifdef _STLP_VENDOR_CSTD | ||||
| namespace std{ using _STLP_VENDOR_CSTD::strcmp; using _STLP_VENDOR_CSTD::strcpy; } | ||||
| #endif | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // std::use_facet may be non-standard, uses a class instead: | ||||
| // | ||||
| #if defined(__STL_NO_EXPLICIT_FUNCTION_TMPL_ARGS) || defined(_STLP_NO_EXPLICIT_FUNCTION_TMPL_ARGS) | ||||
| #  define BOOST_NO_STD_USE_FACET | ||||
| #  define BOOST_HAS_STLP_USE_FACET | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If STLport thinks there are no wide functions, <cwchar> etc. is not working; but | ||||
| // only if BOOST_NO_STDC_NAMESPACE is not defined (if it is then we do the import  | ||||
| // into std:: ourselves). | ||||
| // | ||||
| #if defined(_STLP_NO_NATIVE_WIDE_FUNCTIONS) && !defined(BOOST_NO_STDC_NAMESPACE) | ||||
| #  define BOOST_NO_CWCHAR | ||||
| #  define BOOST_NO_CWCTYPE | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // If STLport for some reason was configured so that it thinks that wchar_t | ||||
| // is not an intrinsic type, then we have to disable the support for it as | ||||
| // well (we would be missing required specializations otherwise). | ||||
| // | ||||
| #if !defined( _STLP_HAS_WCHAR_T) || defined(_STLP_WCHAR_T_IS_USHORT) | ||||
| #  undef  BOOST_NO_INTRINSIC_WCHAR_T | ||||
| #  define BOOST_NO_INTRINSIC_WCHAR_T | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // Borland ships a version of STLport with C++ Builder 6 that lacks | ||||
| // hashtables and the like: | ||||
| // | ||||
| #if defined(__BORLANDC__) && (__BORLANDC__ == 0x560) | ||||
| #  undef BOOST_HAS_HASH | ||||
| #endif | ||||
|  | ||||
| // | ||||
| // gcc-2.95.3/STLPort does not like the using declarations we use to get ADL with std::min/max | ||||
| // | ||||
| #if defined(__GNUC__) && (__GNUC__ < 3) | ||||
| #  include <algorithm> // for std::min and std::max | ||||
| #  define BOOST_USING_STD_MIN() ((void)0) | ||||
| #  define BOOST_USING_STD_MAX() ((void)0) | ||||
| namespace boost { using std::min; using std::max; } | ||||
| #endif | ||||
|  | ||||
| #define BOOST_STDLIB "STLPort standard library version " BOOST_STRINGIZE(__SGI_STL_PORT) | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										19
									
								
								library/include/boost/config/stdlib/vacpp.hpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								library/include/boost/config/stdlib/vacpp.hpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| //  (C) Copyright John Maddock 2001 - 2002.  | ||||
| //  Use, modification and distribution are subject to the  | ||||
| //  Boost Software License, Version 1.0. (See accompanying file  | ||||
| //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) | ||||
|  | ||||
| //  See http://www.boost.org for most recent version. | ||||
|  | ||||
| #if __IBMCPP__ <= 501 | ||||
| #  define BOOST_NO_STD_ALLOCATOR | ||||
| #endif | ||||
|  | ||||
| #define BOOST_HAS_MACRO_USE_FACET | ||||
| #define BOOST_NO_STD_MESSAGES | ||||
| #define BOOST_NO_STD_UNORDERED | ||||
|  | ||||
| #define BOOST_STDLIB "Visual Age default standard library" | ||||
|  | ||||
|  | ||||
|  | ||||
		Reference in New Issue
	
	Block a user