BVB Source Codes

mars Show dinkumware.hpp Source code

Return Download mars: download dinkumware.hpp Source code - Download mars Source code - Type:.hpp
  1. //  (C) Copyright John Maddock 2001 - 2003.
  2. //  (C) Copyright Jens Maurer 2001.
  3. //  (C) Copyright Peter Dimov 2001.
  4. //  (C) Copyright David Abrahams 2002.
  5. //  (C) Copyright Guillaume Melquiond 2003.
  6. //  Use, modification and distribution are subject to the
  7. //  Boost Software License, Version 1.0. (See accompanying file
  8. //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  9.  
  10. //  See http://www.boost.org for most recent version.
  11.  
  12. //  Dinkumware standard library config:
  13.  
  14. #if !defined(_YVALS) && !defined(_CPPLIB_VER)
  15. #include <boost/config/no_tr1/utility.hpp>
  16. #if !defined(_YVALS) && !defined(_CPPLIB_VER)
  17. #error This is not the Dinkumware lib!
  18. #endif
  19. #endif
  20.  
  21.  
  22. #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 306)
  23.    // full dinkumware 3.06 and above
  24.    // fully conforming provided the compiler supports it:
  25. #  if !(defined(_GLOBAL_USING) && (_GLOBAL_USING+0 > 0)) && !defined(__BORLANDC__) && !defined(_STD) && !(defined(__ICC) && (__ICC >= 700))   // can be defined in yvals.h
  26. #     define BOOST_NO_STDC_NAMESPACE
  27. #  endif
  28. #  if !(defined(_HAS_MEMBER_TEMPLATES_REBIND) && (_HAS_MEMBER_TEMPLATES_REBIND+0 > 0)) && !(defined(_MSC_VER) && (_MSC_VER > 1300)) && defined(BOOST_MSVC)
  29. #     define BOOST_NO_STD_ALLOCATOR
  30. #  endif
  31. #  define BOOST_HAS_PARTIAL_STD_ALLOCATOR
  32. #  if defined(BOOST_MSVC) && (BOOST_MSVC < 1300)
  33.       // if this lib version is set up for vc6 then there is no std::use_facet:
  34. #     define BOOST_NO_STD_USE_FACET
  35. #     define BOOST_HAS_TWO_ARG_USE_FACET
  36.       // C lib functions aren't in namespace std either:
  37. #     define BOOST_NO_STDC_NAMESPACE
  38.       // and nor is <exception>
  39. #     define BOOST_NO_EXCEPTION_STD_NAMESPACE
  40. #  endif
  41. // There's no numeric_limits<long long> support unless _LONGLONG is defined:
  42. #  if !defined(_LONGLONG) && (_CPPLIB_VER <= 310)
  43. #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
  44. #  endif
  45. // 3.06 appears to have (non-sgi versions of) <hash_set> & <hash_map>,
  46. // and no <slist> at all
  47. #else
  48. #  define BOOST_MSVC_STD_ITERATOR 1
  49. #  define BOOST_NO_STD_ITERATOR
  50. #  define BOOST_NO_TEMPLATED_ITERATOR_CONSTRUCTORS
  51. #  define BOOST_NO_STD_ALLOCATOR
  52. #  define BOOST_NO_STDC_NAMESPACE
  53. #  define BOOST_NO_STD_USE_FACET
  54. #  define BOOST_NO_STD_OUTPUT_ITERATOR_ASSIGN
  55. #  define BOOST_HAS_MACRO_USE_FACET
  56. #  ifndef _CPPLIB_VER
  57.       // Updated Dinkum library defines this, and provides
  58.       // its own min and max definitions, as does MTA version.
  59. #     ifndef __MTA__
  60. #        define BOOST_NO_STD_MIN_MAX
  61. #     endif
  62. #     define BOOST_NO_MS_INT64_NUMERIC_LIMITS
  63. #  endif
  64. #endif
  65.  
  66. //
  67. // std extension namespace is stdext for vc7.1 and later,
  68. // the same applies to other compilers that sit on top
  69. // of vc7.1 (Intel and Comeau):
  70. //
  71. #if defined(_MSC_VER) && (_MSC_VER >= 1310) && !defined(__BORLANDC__)
  72. #  define BOOST_STD_EXTENSION_NAMESPACE stdext
  73. #endif
  74.  
  75.  
  76. #if (defined(_MSC_VER) && (_MSC_VER <= 1300) && !defined(__BORLANDC__)) || !defined(_CPPLIB_VER) || (_CPPLIB_VER < 306)
  77.    // if we're using a dinkum lib that's
  78.    // been configured for VC6/7 then there is
  79.    // no iterator traits (true even for icl)
  80. #  define BOOST_NO_STD_ITERATOR_TRAITS
  81. #endif
  82.  
  83. #if defined(__ICL) && (__ICL < 800) && defined(_CPPLIB_VER) && (_CPPLIB_VER <= 310)
  84. // Intel C++ chokes over any non-trivial use of <locale>
  85. // this may be an overly restrictive define, but regex fails without it:
  86. #  define BOOST_NO_STD_LOCALE
  87. #endif
  88.  
  89. // Fix for VC++ 8.0 on up ( I do not have a previous version to test )
  90. // or clang-cl. If exceptions are off you must manually include the
  91. // <exception> header before including the <typeinfo> header. Admittedly
  92. // trying to use Boost libraries or the standard C++ libraries without
  93. // exception support is not suggested but currently clang-cl ( v 3.4 )
  94. // does not support exceptions and must be compiled with exceptions off.
  95. #if !_HAS_EXCEPTIONS && ((defined(BOOST_MSVC) && BOOST_MSVC >= 1400) || (defined(__clang__) && defined(_MSC_VER)))
  96. #include <exception>
  97. #endif
  98. #include <typeinfo>
  99. #if ( (!_HAS_EXCEPTIONS && !defined(__ghs__)) || (!_HAS_NAMESPACE && defined(__ghs__)) ) && !defined(__TI_COMPILER_VERSION__) && !defined(__VISUALDSPVERSION__)
  100. #  define BOOST_NO_STD_TYPEINFO
  101. #endif  
  102.  
  103. //  C++0x headers implemented in 520 (as shipped by Microsoft)
  104. //
  105. #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 520
  106. #  define BOOST_NO_CXX11_HDR_ARRAY
  107. #  define BOOST_NO_CXX11_HDR_CODECVT
  108. #  define BOOST_NO_CXX11_HDR_FORWARD_LIST
  109. #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  110. #  define BOOST_NO_CXX11_HDR_RANDOM
  111. #  define BOOST_NO_CXX11_HDR_REGEX
  112. #  define BOOST_NO_CXX11_HDR_SYSTEM_ERROR
  113. #  define BOOST_NO_CXX11_HDR_UNORDERED_MAP
  114. #  define BOOST_NO_CXX11_HDR_UNORDERED_SET
  115. #  define BOOST_NO_CXX11_HDR_TUPLE
  116. #  define BOOST_NO_CXX11_HDR_TYPEINDEX
  117. #  define BOOST_NO_CXX11_HDR_FUNCTIONAL
  118. #  define BOOST_NO_CXX11_NUMERIC_LIMITS
  119. #  define BOOST_NO_CXX11_SMART_PTR
  120. #endif
  121.  
  122. #if ((!defined(_HAS_TR1_IMPORTS) || (_HAS_TR1_IMPORTS+0 == 0)) && !defined(BOOST_NO_CXX11_HDR_TUPLE)) \
  123.   && (!defined(_CPPLIB_VER) || _CPPLIB_VER < 610)
  124. #  define BOOST_NO_CXX11_HDR_TUPLE
  125. #endif
  126.  
  127. //  C++0x headers implemented in 540 (as shipped by Microsoft)
  128. //
  129. #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 540
  130. #  define BOOST_NO_CXX11_HDR_TYPE_TRAITS
  131. #  define BOOST_NO_CXX11_HDR_CHRONO
  132. #  define BOOST_NO_CXX11_HDR_CONDITION_VARIABLE
  133. #  define BOOST_NO_CXX11_HDR_FUTURE
  134. #  define BOOST_NO_CXX11_HDR_MUTEX
  135. #  define BOOST_NO_CXX11_HDR_RATIO
  136. #  define BOOST_NO_CXX11_HDR_THREAD
  137. #  define BOOST_NO_CXX11_ATOMIC_SMART_PTR
  138. #endif
  139.  
  140. //  C++0x headers implemented in 610 (as shipped by Microsoft)
  141. //
  142. #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 610
  143. #  define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
  144. #  define BOOST_NO_CXX11_HDR_ATOMIC
  145. #  define BOOST_NO_CXX11_ALLOCATOR
  146. // 540 has std::align but it is not a conforming implementation
  147. #  define BOOST_NO_CXX11_STD_ALIGN
  148. #endif
  149.  
  150. #if defined(__has_include)
  151. #if !__has_include(<shared_mutex>)
  152. #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  153. #elif __cplusplus < 201402
  154. #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  155. #endif
  156. #elif !defined(_CPPLIB_VER) || (_CPPLIB_VER < 650)
  157. #  define BOOST_NO_CXX14_HDR_SHARED_MUTEX
  158. #endif
  159.  
  160. #if defined(BOOST_INTEL) && (BOOST_INTEL <= 1400)
  161. // Intel's compiler can't handle this header yet:
  162. #  define BOOST_NO_CXX11_HDR_ATOMIC
  163. #endif
  164.  
  165.  
  166. //  520..610 have std::addressof, but it doesn't support functions
  167. //
  168. #if !defined(_CPPLIB_VER) || _CPPLIB_VER < 650
  169. #  define BOOST_NO_CXX11_ADDRESSOF
  170. #endif
  171.  
  172. // Bug specific to VC14,
  173. // See https://connect.microsoft.com/VisualStudio/feedback/details/1348277/link-error-when-using-std-codecvt-utf8-utf16-char16-t
  174. // and discussion here: http://blogs.msdn.com/b/vcblog/archive/2014/11/12/visual-studio-2015-preview-now-available.aspx?PageIndex=2
  175. #if defined(_CPPLIB_VER) && (_CPPLIB_VER == 650)
  176. #  define BOOST_NO_CXX11_HDR_CODECVT
  177. #endif
  178.  
  179. #if defined(_CPPLIB_VER) && (_CPPLIB_VER >= 650)
  180. // If _HAS_AUTO_PTR_ETC is defined to 0, std::auto_ptr is not available.
  181. // See https://www.visualstudio.com/en-us/news/vs2015-vs.aspx#C++
  182. // and http://blogs.msdn.com/b/vcblog/archive/2015/06/19/c-11-14-17-features-in-vs-2015-rtm.aspx
  183. #  if defined(_HAS_AUTO_PTR_ETC) && (_HAS_AUTO_PTR_ETC == 0)
  184. #    define BOOST_NO_AUTO_PTR
  185. #  endif
  186. #endif
  187.  
  188. #ifdef _CPPLIB_VER
  189. #  define BOOST_DINKUMWARE_STDLIB _CPPLIB_VER
  190. #else
  191. #  define BOOST_DINKUMWARE_STDLIB 1
  192. #endif
  193.  
  194. #ifdef _CPPLIB_VER
  195. #  define BOOST_STDLIB "Dinkumware standard library version " BOOST_STRINGIZE(_CPPLIB_VER)
  196. #else
  197. #  define BOOST_STDLIB "Dinkumware standard library version 1.x"
  198. #endif
  199.  
downloaddinkumware.hpp Source code - Download mars Source code
Related Source Codes/Software:
Hero - Elegant transition library for iOS & tvOS 2017-06-09
deep-photo-styletransfer - Code and data for paper "Deep Photo Style Transfer... 2017-06-09
mastodon - A GNU Social-compatible microblogging server ... 2017-06-09
plyr - A simple HTML5, YouTube and Vimeo player ... 2017-06-08
prepack - Prepack is a partial evaluator for JavaScript. Pre... 2017-06-08
Public-APIs - 2017-06-09
lottie-ios - An iOS library to natively render After Effects ve... 2017-06-09
Awesome-Hacking - A collection of various awesome lists for hackers,... 2017-06-09
algorithms - Minimal examples of data structures and algorithms... 2017-06-10
lectures - Oxford Deep NLP 2017 course 2017-06-10
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top