@dittolive/ditto 4.4.5 → 4.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (289) hide show
  1. package/DittoReactNative.podspec +27 -0
  2. package/README.md +68 -51
  3. package/node/ditto.cjs.js +1639 -851
  4. package/node/ditto.darwin-arm64.node +0 -0
  5. package/node/ditto.darwin-x64.node +0 -0
  6. package/node/ditto.linux-arm.node +0 -0
  7. package/node/ditto.linux-x64.node +0 -0
  8. package/node/ditto.win32-x64.node +0 -0
  9. package/node/transports.darwin-arm64.node +0 -0
  10. package/node/transports.darwin-x64.node +0 -0
  11. package/package.json +34 -38
  12. package/react-native/android/CMakeLists.txt +37 -0
  13. package/react-native/android/build.gradle +203 -0
  14. package/react-native/android/cpp-adapter.cpp +254 -0
  15. package/react-native/android/gradle.properties +5 -0
  16. package/react-native/android/src/main/AndroidManifest.xml +4 -0
  17. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKModule.java +85 -0
  18. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKPackage.java +28 -0
  19. package/react-native/boost/boost/assert.hpp +85 -0
  20. package/react-native/boost/boost/config/abi/borland_prefix.hpp +27 -0
  21. package/react-native/boost/boost/config/abi/borland_suffix.hpp +12 -0
  22. package/react-native/boost/boost/config/abi/msvc_prefix.hpp +22 -0
  23. package/react-native/boost/boost/config/abi/msvc_suffix.hpp +8 -0
  24. package/react-native/boost/boost/config/abi_prefix.hpp +25 -0
  25. package/react-native/boost/boost/config/abi_suffix.hpp +25 -0
  26. package/react-native/boost/boost/config/assert_cxx03.hpp +211 -0
  27. package/react-native/boost/boost/config/assert_cxx11.hpp +209 -0
  28. package/react-native/boost/boost/config/assert_cxx14.hpp +47 -0
  29. package/react-native/boost/boost/config/assert_cxx17.hpp +62 -0
  30. package/react-native/boost/boost/config/assert_cxx20.hpp +59 -0
  31. package/react-native/boost/boost/config/assert_cxx98.hpp +23 -0
  32. package/react-native/boost/boost/config/auto_link.hpp +525 -0
  33. package/react-native/boost/boost/config/compiler/borland.hpp +339 -0
  34. package/react-native/boost/boost/config/compiler/clang.hpp +366 -0
  35. package/react-native/boost/boost/config/compiler/clang_version.hpp +83 -0
  36. package/react-native/boost/boost/config/compiler/codegear.hpp +385 -0
  37. package/react-native/boost/boost/config/compiler/comeau.hpp +59 -0
  38. package/react-native/boost/boost/config/compiler/common_edg.hpp +183 -0
  39. package/react-native/boost/boost/config/compiler/compaq_cxx.hpp +19 -0
  40. package/react-native/boost/boost/config/compiler/cray.hpp +446 -0
  41. package/react-native/boost/boost/config/compiler/diab.hpp +26 -0
  42. package/react-native/boost/boost/config/compiler/digitalmars.hpp +143 -0
  43. package/react-native/boost/boost/config/compiler/gcc.hpp +383 -0
  44. package/react-native/boost/boost/config/compiler/gcc_xml.hpp +114 -0
  45. package/react-native/boost/boost/config/compiler/greenhills.hpp +28 -0
  46. package/react-native/boost/boost/config/compiler/hp_acc.hpp +149 -0
  47. package/react-native/boost/boost/config/compiler/intel.hpp +577 -0
  48. package/react-native/boost/boost/config/compiler/kai.hpp +33 -0
  49. package/react-native/boost/boost/config/compiler/metrowerks.hpp +198 -0
  50. package/react-native/boost/boost/config/compiler/mpw.hpp +140 -0
  51. package/react-native/boost/boost/config/compiler/nvcc.hpp +61 -0
  52. package/react-native/boost/boost/config/compiler/pathscale.hpp +138 -0
  53. package/react-native/boost/boost/config/compiler/pgi.hpp +23 -0
  54. package/react-native/boost/boost/config/compiler/sgi_mipspro.hpp +29 -0
  55. package/react-native/boost/boost/config/compiler/sunpro_cc.hpp +222 -0
  56. package/react-native/boost/boost/config/compiler/vacpp.hpp +186 -0
  57. package/react-native/boost/boost/config/compiler/visualc.hpp +391 -0
  58. package/react-native/boost/boost/config/compiler/xlcpp.hpp +299 -0
  59. package/react-native/boost/boost/config/compiler/xlcpp_zos.hpp +173 -0
  60. package/react-native/boost/boost/config/detail/cxx_composite.hpp +203 -0
  61. package/react-native/boost/boost/config/detail/posix_features.hpp +95 -0
  62. package/react-native/boost/boost/config/detail/select_compiler_config.hpp +157 -0
  63. package/react-native/boost/boost/config/detail/select_platform_config.hpp +147 -0
  64. package/react-native/boost/boost/config/detail/select_stdlib_config.hpp +121 -0
  65. package/react-native/boost/boost/config/detail/suffix.hpp +1294 -0
  66. package/react-native/boost/boost/config/header_deprecated.hpp +26 -0
  67. package/react-native/boost/boost/config/helper_macros.hpp +37 -0
  68. package/react-native/boost/boost/config/no_tr1/cmath.hpp +28 -0
  69. package/react-native/boost/boost/config/no_tr1/complex.hpp +28 -0
  70. package/react-native/boost/boost/config/no_tr1/functional.hpp +28 -0
  71. package/react-native/boost/boost/config/no_tr1/memory.hpp +28 -0
  72. package/react-native/boost/boost/config/no_tr1/utility.hpp +28 -0
  73. package/react-native/boost/boost/config/platform/aix.hpp +33 -0
  74. package/react-native/boost/boost/config/platform/amigaos.hpp +15 -0
  75. package/react-native/boost/boost/config/platform/beos.hpp +26 -0
  76. package/react-native/boost/boost/config/platform/bsd.hpp +83 -0
  77. package/react-native/boost/boost/config/platform/cloudabi.hpp +18 -0
  78. package/react-native/boost/boost/config/platform/cray.hpp +18 -0
  79. package/react-native/boost/boost/config/platform/cygwin.hpp +71 -0
  80. package/react-native/boost/boost/config/platform/haiku.hpp +31 -0
  81. package/react-native/boost/boost/config/platform/hpux.hpp +87 -0
  82. package/react-native/boost/boost/config/platform/irix.hpp +31 -0
  83. package/react-native/boost/boost/config/platform/linux.hpp +106 -0
  84. package/react-native/boost/boost/config/platform/macos.hpp +87 -0
  85. package/react-native/boost/boost/config/platform/qnxnto.hpp +31 -0
  86. package/react-native/boost/boost/config/platform/solaris.hpp +31 -0
  87. package/react-native/boost/boost/config/platform/symbian.hpp +97 -0
  88. package/react-native/boost/boost/config/platform/vms.hpp +25 -0
  89. package/react-native/boost/boost/config/platform/vxworks.hpp +422 -0
  90. package/react-native/boost/boost/config/platform/wasm.hpp +23 -0
  91. package/react-native/boost/boost/config/platform/win32.hpp +90 -0
  92. package/react-native/boost/boost/config/platform/zos.hpp +32 -0
  93. package/react-native/boost/boost/config/pragma_message.hpp +31 -0
  94. package/react-native/boost/boost/config/requires_threads.hpp +92 -0
  95. package/react-native/boost/boost/config/stdlib/dinkumware.hpp +324 -0
  96. package/react-native/boost/boost/config/stdlib/libcomo.hpp +93 -0
  97. package/react-native/boost/boost/config/stdlib/libcpp.hpp +180 -0
  98. package/react-native/boost/boost/config/stdlib/libstdcpp3.hpp +482 -0
  99. package/react-native/boost/boost/config/stdlib/modena.hpp +79 -0
  100. package/react-native/boost/boost/config/stdlib/msl.hpp +98 -0
  101. package/react-native/boost/boost/config/stdlib/roguewave.hpp +208 -0
  102. package/react-native/boost/boost/config/stdlib/sgi.hpp +168 -0
  103. package/react-native/boost/boost/config/stdlib/stlport.hpp +258 -0
  104. package/react-native/boost/boost/config/stdlib/vacpp.hpp +74 -0
  105. package/react-native/boost/boost/config/stdlib/xlcpp_zos.hpp +61 -0
  106. package/react-native/boost/boost/config/user.hpp +133 -0
  107. package/react-native/boost/boost/config/warning_disable.hpp +47 -0
  108. package/react-native/boost/boost/config/workaround.hpp +305 -0
  109. package/react-native/boost/boost/config.hpp +67 -0
  110. package/react-native/boost/boost/cstdint.hpp +556 -0
  111. package/react-native/boost/boost/intrusive_ptr.hpp +18 -0
  112. package/react-native/boost/boost/smart_ptr/detail/atomic_count.hpp +103 -0
  113. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp +79 -0
  114. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +63 -0
  115. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +88 -0
  116. package/react-native/boost/boost/smart_ptr/detail/atomic_count_nt.hpp +66 -0
  117. package/react-native/boost/boost/smart_ptr/detail/atomic_count_pt.hpp +104 -0
  118. package/react-native/boost/boost/smart_ptr/detail/atomic_count_spin.hpp +69 -0
  119. package/react-native/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +67 -0
  120. package/react-native/boost/boost/smart_ptr/detail/atomic_count_sync.hpp +72 -0
  121. package/react-native/boost/boost/smart_ptr/detail/atomic_count_win32.hpp +70 -0
  122. package/react-native/boost/boost/smart_ptr/detail/local_counted_base.hpp +148 -0
  123. package/react-native/boost/boost/smart_ptr/detail/local_sp_deleter.hpp +91 -0
  124. package/react-native/boost/boost/smart_ptr/detail/operator_bool.hpp +64 -0
  125. package/react-native/boost/boost/smart_ptr/detail/requires_cxx11.hpp +23 -0
  126. package/react-native/boost/boost/smart_ptr/detail/shared_count.hpp +707 -0
  127. package/react-native/boost/boost/smart_ptr/detail/sp_convertible.hpp +92 -0
  128. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base.hpp +92 -0
  129. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +163 -0
  130. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp +152 -0
  131. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +185 -0
  132. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +148 -0
  133. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +170 -0
  134. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +200 -0
  135. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +194 -0
  136. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +179 -0
  137. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +186 -0
  138. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp +119 -0
  139. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp +147 -0
  140. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +174 -0
  141. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp +141 -0
  142. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +147 -0
  143. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp +165 -0
  144. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +163 -0
  145. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp +140 -0
  146. package/react-native/boost/boost/smart_ptr/detail/sp_counted_impl.hpp +309 -0
  147. package/react-native/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp +40 -0
  148. package/react-native/boost/boost/smart_ptr/detail/sp_forward.hpp +52 -0
  149. package/react-native/boost/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +27 -0
  150. package/react-native/boost/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +69 -0
  151. package/react-native/boost/boost/smart_ptr/detail/sp_interlocked.hpp +173 -0
  152. package/react-native/boost/boost/smart_ptr/detail/sp_noexcept.hpp +48 -0
  153. package/react-native/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp +45 -0
  154. package/react-native/boost/boost/smart_ptr/detail/sp_obsolete.hpp +32 -0
  155. package/react-native/boost/boost/smart_ptr/detail/sp_thread_pause.hpp +51 -0
  156. package/react-native/boost/boost/smart_ptr/detail/sp_thread_sleep.hpp +104 -0
  157. package/react-native/boost/boost/smart_ptr/detail/sp_thread_yield.hpp +100 -0
  158. package/react-native/boost/boost/smart_ptr/detail/sp_typeinfo_.hpp +58 -0
  159. package/react-native/boost/boost/smart_ptr/detail/sp_win32_sleep.hpp +49 -0
  160. package/react-native/boost/boost/smart_ptr/intrusive_ptr.hpp +409 -0
  161. package/react-native/boost/boost/smart_ptr/intrusive_ref_counter.hpp +188 -0
  162. package/react-native/cpp/include/Attachment.h +16 -0
  163. package/react-native/cpp/include/Authentication.h +23 -0
  164. package/react-native/cpp/include/Collection.h +13 -0
  165. package/react-native/cpp/include/DQL.h +21 -0
  166. package/react-native/cpp/include/Document.h +17 -0
  167. package/react-native/cpp/include/Identity.h +17 -0
  168. package/react-native/cpp/include/Lifecycle.h +16 -0
  169. package/react-native/cpp/include/LiveQuery.h +17 -0
  170. package/react-native/cpp/include/Logger.h +22 -0
  171. package/react-native/cpp/include/Misc.h +26 -0
  172. package/react-native/cpp/include/Presence.h +14 -0
  173. package/react-native/cpp/include/RetainableState.h +24 -0
  174. package/react-native/cpp/include/SmallPeerInfo.h +17 -0
  175. package/react-native/cpp/include/Transports.h +25 -0
  176. package/react-native/cpp/include/TypedArray.hpp +167 -0
  177. package/react-native/cpp/include/Utils.h +61 -0
  178. package/react-native/cpp/include/main.h +10 -0
  179. package/react-native/cpp/src/Attachment.cpp +86 -0
  180. package/react-native/cpp/src/Authentication.cpp +224 -0
  181. package/react-native/cpp/src/Collection.cpp +54 -0
  182. package/react-native/cpp/src/DQL.cpp +254 -0
  183. package/react-native/cpp/src/Document.cpp +146 -0
  184. package/react-native/cpp/src/Identity.cpp +123 -0
  185. package/react-native/cpp/src/Lifecycle.cpp +75 -0
  186. package/react-native/cpp/src/LiveQuery.cpp +64 -0
  187. package/react-native/cpp/src/Logger.cpp +200 -0
  188. package/react-native/cpp/src/Misc.cpp +271 -0
  189. package/react-native/cpp/src/Presence.cpp +77 -0
  190. package/react-native/cpp/src/RetainableState.cpp +15 -0
  191. package/react-native/cpp/src/SmallPeerInfo.cpp +108 -0
  192. package/react-native/cpp/src/Transports.cpp +270 -0
  193. package/react-native/cpp/src/TypedArray.cpp +303 -0
  194. package/react-native/cpp/src/Utils.cpp +138 -0
  195. package/react-native/cpp/src/main.cpp +149 -0
  196. package/react-native/dittoffi/dittoffi.h +4698 -0
  197. package/react-native/dittoffi/ifaddrs.cpp +385 -0
  198. package/react-native/dittoffi/ifaddrs.h +206 -0
  199. package/react-native/ios/DittoRNSDK.h +7 -0
  200. package/react-native/ios/DittoRNSDK.mm +107 -0
  201. package/react-native/ios/YeetJSIUtils.h +60 -0
  202. package/react-native/ios/YeetJSIUtils.mm +196 -0
  203. package/react-native/lib/commonjs/ditto.rn.js +93 -0
  204. package/react-native/lib/commonjs/ditto.rn.js.map +1 -0
  205. package/react-native/lib/commonjs/index.js +14 -0
  206. package/react-native/lib/commonjs/index.js.map +1 -0
  207. package/react-native/lib/module/ditto.rn.js +83 -0
  208. package/react-native/lib/module/ditto.rn.js.map +1 -0
  209. package/react-native/lib/module/index.js +13 -0
  210. package/react-native/lib/module/index.js.map +1 -0
  211. package/react-native/lib/typescript/ditto.rn.d.ts +15 -0
  212. package/react-native/lib/typescript/ditto.rn.d.ts.map +1 -0
  213. package/react-native/lib/typescript/index.d.ts +1 -0
  214. package/react-native/lib/typescript/index.d.ts.map +1 -0
  215. package/react-native/scripts/ruby/include_local_boost.rb +78 -0
  216. package/react-native/src/ditto.rn.ts +91 -0
  217. package/react-native/src/environment/environment.fallback.ts +4 -0
  218. package/react-native/src/index.ts +26 -0
  219. package/react-native/src/sources/@cbor-redux.ts +2 -0
  220. package/react-native/src/sources/@ditto.core.ts +1 -0
  221. package/react-native/src/sources/@environment.ts +2 -0
  222. package/react-native/src/sources/attachment-fetch-event.ts +54 -0
  223. package/react-native/src/sources/attachment-fetcher-manager.ts +129 -0
  224. package/react-native/src/sources/attachment-fetcher.ts +124 -0
  225. package/react-native/src/sources/attachment-token.ts +48 -0
  226. package/react-native/src/sources/attachment.ts +59 -0
  227. package/react-native/src/sources/augment.ts +89 -0
  228. package/react-native/src/sources/authenticator.ts +314 -0
  229. package/react-native/src/sources/base-pending-cursor-operation.ts +237 -0
  230. package/react-native/src/sources/base-pending-id-specific-operation.ts +109 -0
  231. package/react-native/src/sources/bridge.ts +549 -0
  232. package/react-native/src/sources/build-time-constants.ts +4 -0
  233. package/react-native/src/sources/cbor.ts +35 -0
  234. package/react-native/src/sources/collection-interface.ts +67 -0
  235. package/react-native/src/sources/collection.ts +212 -0
  236. package/react-native/src/sources/collections-event.ts +99 -0
  237. package/react-native/src/sources/counter.ts +77 -0
  238. package/react-native/src/sources/ditto.ts +945 -0
  239. package/react-native/src/sources/document-id.ts +159 -0
  240. package/react-native/src/sources/document-path.ts +303 -0
  241. package/react-native/src/sources/document.ts +192 -0
  242. package/react-native/src/sources/epilogue.ts +24 -0
  243. package/react-native/src/sources/error-codes.ts +52 -0
  244. package/react-native/src/sources/error.ts +203 -0
  245. package/react-native/src/sources/essentials.ts +53 -0
  246. package/react-native/src/sources/ffi-error.ts +117 -0
  247. package/react-native/src/sources/ffi.ts +1972 -0
  248. package/react-native/src/sources/identity.ts +163 -0
  249. package/react-native/src/sources/init.ts +70 -0
  250. package/react-native/src/sources/internal.ts +113 -0
  251. package/react-native/src/sources/keep-alive.ts +69 -0
  252. package/react-native/src/sources/key-path.ts +195 -0
  253. package/react-native/src/sources/live-query-event.ts +208 -0
  254. package/react-native/src/sources/live-query-manager.ts +101 -0
  255. package/react-native/src/sources/live-query.ts +164 -0
  256. package/react-native/src/sources/logger.ts +196 -0
  257. package/react-native/src/sources/observer-manager.ts +175 -0
  258. package/react-native/src/sources/observer.ts +77 -0
  259. package/react-native/src/sources/pending-collections-operation.ts +232 -0
  260. package/react-native/src/sources/pending-cursor-operation.ts +218 -0
  261. package/react-native/src/sources/pending-id-specific-operation.ts +216 -0
  262. package/react-native/src/sources/presence-manager.ts +160 -0
  263. package/react-native/src/sources/presence.ts +238 -0
  264. package/react-native/src/sources/query-result-item.ts +116 -0
  265. package/react-native/src/sources/query-result.ts +55 -0
  266. package/react-native/src/sources/register.ts +92 -0
  267. package/react-native/src/sources/small-peer-info.ts +176 -0
  268. package/react-native/src/sources/static-tcp-client.ts +6 -0
  269. package/react-native/src/sources/store-observer.ts +176 -0
  270. package/react-native/src/sources/store.ts +365 -0
  271. package/react-native/src/sources/subscription-manager.ts +98 -0
  272. package/react-native/src/sources/subscription.ts +88 -0
  273. package/react-native/src/sources/sync-subscription.ts +90 -0
  274. package/react-native/src/sources/sync.ts +495 -0
  275. package/react-native/src/sources/test-helpers.ts +24 -0
  276. package/react-native/src/sources/transport-conditions-manager.ts +104 -0
  277. package/react-native/src/sources/transport-config.ts +428 -0
  278. package/react-native/src/sources/update-result.ts +66 -0
  279. package/react-native/src/sources/update-results-map.ts +57 -0
  280. package/react-native/src/sources/websocket-client.ts +6 -0
  281. package/react-native/src/sources/write-transaction-collection.ts +122 -0
  282. package/react-native/src/sources/write-transaction-pending-cursor-operation.ts +101 -0
  283. package/react-native/src/sources/write-transaction-pending-id-specific-operation.ts +72 -0
  284. package/react-native/src/sources/write-transaction.ts +119 -0
  285. package/react-native.config.js +9 -0
  286. package/types/ditto.d.ts +1230 -798
  287. package/web/ditto.es6.js +1 -1
  288. package/web/ditto.umd.js +1 -1
  289. package/web/ditto.wasm +0 -0
@@ -0,0 +1,19 @@
1
+ // (C) Copyright John Maddock 2001 - 2003.
2
+ // Use, modification and distribution are subject to the
3
+ // Boost Software License, Version 1.0. (See accompanying file
4
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // See http://www.boost.org for most recent version.
7
+
8
+ // Tru64 C++ compiler setup (now HP):
9
+
10
+ #define BOOST_COMPILER "HP Tru64 C++ " BOOST_STRINGIZE(__DECCXX_VER)
11
+
12
+ #include <boost/config/compiler/common_edg.hpp>
13
+
14
+ //
15
+ // versions check:
16
+ // Nothing to do here?
17
+
18
+
19
+
@@ -0,0 +1,446 @@
1
+ // Copyright 2011 John Maddock
2
+ // Copyright 2013, 2017-2018 Cray, Inc.
3
+ // Use, modification and distribution are subject to the
4
+ // Boost Software License, Version 1.0. (See accompanying file
5
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6
+
7
+ // See http://www.boost.org for most recent version.
8
+
9
+ // Cray C++ compiler setup.
10
+ //
11
+ // There are a few parameters that affect the macros defined in this file:
12
+ //
13
+ // - What version of CCE (Cray Compiling Environment) are we running? This
14
+ // comes from the '_RELEASE_MAJOR', '_RELEASE_MINOR', and
15
+ // '_RELEASE_PATCHLEVEL' macros.
16
+ // - What C++ standards conformance level are we using (e.g. '-h
17
+ // std=c++14')? This comes from the '__cplusplus' macro.
18
+ // - Are we using GCC extensions ('-h gnu' or '-h nognu')? If we have '-h
19
+ // gnu' then CCE emulates GCC, and the macros '__GNUC__',
20
+ // '__GNUC_MINOR__', and '__GNUC_PATCHLEVEL__' are defined.
21
+ //
22
+ // This file is organized as follows:
23
+ //
24
+ // - Verify that the combination of parameters listed above is supported.
25
+ // If we have an unsupported combination, we abort with '#error'.
26
+ // - Establish baseline values for all Boost macros.
27
+ // - Apply changes to the baseline macros based on compiler version. These
28
+ // changes are cummulative so each version section only describes the
29
+ // changes since the previous version.
30
+ // - Within each version section, we may also apply changes based on
31
+ // other parameters (i.e. C++ standards conformance level and GCC
32
+ // extensions).
33
+ //
34
+ // To test changes to this file:
35
+ //
36
+ // ```
37
+ // module load cce/8.6.5 # Pick the version you want to test.
38
+ // cd boost/libs/config/test/all
39
+ // b2 -j 8 toolset=cray cxxstd=03 cxxstd=11 cxxstd=14 cxxstd-dialect=gnu linkflags=-lrt
40
+ // ```
41
+ // Note: Using 'cxxstd-dialect=iso' is not supported at this time (the
42
+ // tests run, but many tests fail).
43
+ //
44
+ // Note: 'linkflags=-lrt' is needed in Cray Linux Environment. Otherwise
45
+ // you get an 'undefined reference to clock_gettime' error.
46
+ //
47
+ // Note: If a test '*_fail.cpp' file compiles, but fails to run, then it is
48
+ // reported as a defect. However, this is not actually a defect. This is an
49
+ // area where the test system is somewhat broken. Tests that are failing
50
+ // because of this problem are noted in the comments.
51
+ //
52
+ // Pay attention to the macro definitions for the macros you wish to
53
+ // modify. For example, only macros categorized as compiler macros should
54
+ // appear in this file; platform macros should not appear in this file.
55
+ // Also, some macros have to be defined to specific values; it is not
56
+ // always enough to define or undefine a macro.
57
+ //
58
+ // Macro definitions are available in the source code at:
59
+ //
60
+ // `boost/libs/config/doc/html/boost_config/boost_macro_reference.html`
61
+ //
62
+ // Macro definitions are also available online at:
63
+ //
64
+ // http://www.boost.org/doc/libs/master/libs/config/doc/html/boost_config/boost_macro_reference.html
65
+ //
66
+ // Typically, if you enable a feature, and the tests pass, then you have
67
+ // nothing to worry about. However, it's sometimes hard to figure out if a
68
+ // disabled feature needs to stay disabled. To get a list of disabled
69
+ // features, run 'b2' in 'boost/libs/config/checks'. These are the macros
70
+ // you should pay attention to (in addition to macros that cause test
71
+ // failures).
72
+
73
+ ////
74
+ //// Front matter
75
+ ////
76
+
77
+ // In a developer build of the Cray compiler (i.e. a compiler built by a
78
+ // Cray employee), the release patch level is reported as "x". This gives
79
+ // versions that look like e.g. "8.6.x".
80
+ //
81
+ // To accomplish this, the the Cray compiler preprocessor inserts:
82
+ //
83
+ // #define _RELEASE_PATCHLEVEL x
84
+ //
85
+ // If we are using a developer build of the compiler, we want to use the
86
+ // configuration macros for the most recent patch level of the release. To
87
+ // accomplish this, we'll pretend that _RELEASE_PATCHLEVEL is 99.
88
+ //
89
+ // However, it's difficult to detect if _RELEASE_PATCHLEVEL is x. We must
90
+ // consider that the x will be expanded if x is defined as a macro
91
+ // elsewhere. For example, imagine if someone put "-D x=3" on the command
92
+ // line, and _RELEASE_PATCHLEVEL is x. Then _RELEASE_PATCHLEVEL would
93
+ // expand to 3, and we could not distinguish it from an actual
94
+ // _RELEASE_PATCHLEVEL of 3. This problem only affects developer builds; in
95
+ // production builds, _RELEASE_PATCHLEVEL is always an integer.
96
+ //
97
+ // IMPORTANT: In developer builds, if x is defined as a macro, you will get
98
+ // an incorrect configuration. The behavior in this case is undefined.
99
+ //
100
+ // Even if x is not defined, we have to use some trickery to detect if
101
+ // _RELEASE_PATCHLEVEL is x. First we define BOOST_CRAY_x to some arbitrary
102
+ // magic value, 9867657. Then we use BOOST_CRAY_APPEND to append the
103
+ // expanded value of _RELEASE_PATCHLEVEL to the string "BOOST_CRAY_".
104
+ //
105
+ // - If _RELEASE_PATCHLEVEL is undefined, we get "BOOST_CRAY_".
106
+ // - If _RELEASE_PATCHLEVEL is 5, we get "BOOST_CRAY_5".
107
+ // - If _RELEASE_PATCHLEVEL is x (and x is not defined) we get
108
+ // "BOOST_CRAY_x":
109
+ //
110
+ // Then we check if BOOST_CRAY_x is equal to the output of
111
+ // BOOST_CRAY_APPEND. In other words, the output of BOOST_CRAY_APPEND is
112
+ // treated as a macro name, and expanded again. If we can safely assume
113
+ // that BOOST_CRAY_ is not a macro defined as our magic number, and
114
+ // BOOST_CRAY_5 is not a macro defined as our magic number, then the only
115
+ // way the equality test can pass is if _RELEASE_PATCHLEVEL expands to x.
116
+ //
117
+ // So, that is how we detect if we are using a developer build of the Cray
118
+ // compiler.
119
+
120
+ #define BOOST_CRAY_x 9867657 // Arbitrary number
121
+ #define BOOST_CRAY_APPEND(MACRO) BOOST_CRAY_APPEND_INTERNAL(MACRO)
122
+ #define BOOST_CRAY_APPEND_INTERNAL(MACRO) BOOST_CRAY_##MACRO
123
+
124
+ #if BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
125
+
126
+ // This is a developer build.
127
+ //
128
+ // - _RELEASE_PATCHLEVEL is defined as x, and x is not defined as a macro.
129
+
130
+ // Pretend _RELEASE_PATCHLEVEL is 99, so we get the configuration for the
131
+ // most recent patch level in this release.
132
+
133
+ #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + 99)
134
+
135
+ #else
136
+
137
+ // This is a production build.
138
+ //
139
+ // _RELEASE_PATCHLEVEL is not defined as x, or x is defined as a macro.
140
+
141
+ #define BOOST_CRAY_VERSION (_RELEASE_MAJOR * 10000 + _RELEASE_MINOR * 100 + _RELEASE_PATCHLEVEL)
142
+
143
+ #endif // BOOST_CRAY_x == BOOST_CRAY_APPEND(_RELEASE_PATCHLEVEL)
144
+
145
+ #undef BOOST_CRAY_APPEND_INTERNAL
146
+ #undef BOOST_CRAY_APPEND
147
+ #undef BOOST_CRAY_x
148
+
149
+
150
+ #ifdef __GNUC__
151
+ # define BOOST_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
152
+ #endif
153
+
154
+ #ifndef BOOST_COMPILER
155
+ # define BOOST_COMPILER "Cray C++ version " BOOST_STRINGIZE(_RELEASE_MAJOR) "." BOOST_STRINGIZE(_RELEASE_MINOR) "." BOOST_STRINGIZE(_RELEASE_PATCHLEVEL)
156
+ #endif
157
+
158
+ // Since the Cray compiler defines '__GNUC__', we have to emulate some
159
+ // additional GCC macros in order to make everything work.
160
+ //
161
+ // FIXME: Perhaps Cray should fix the compiler to define these additional
162
+ // macros for GCC emulation?
163
+
164
+ #if __cplusplus >= 201103L && defined(__GNUC__) && !defined(__GXX_EXPERIMENTAL_CXX0X__)
165
+ # define __GXX_EXPERIMENTAL_CXX0X__ 1
166
+ #endif
167
+
168
+ ////
169
+ //// Parameter validation
170
+ ////
171
+
172
+ // FIXME: Do we really need to support compilers before 8.5? Do they pass
173
+ // the Boost.Config tests?
174
+
175
+ #if BOOST_CRAY_VERSION < 80000
176
+ # error "Boost is not configured for Cray compilers prior to version 8, please try the configure script."
177
+ #endif
178
+
179
+ // We only support recent EDG based compilers.
180
+
181
+ #ifndef __EDG__
182
+ # error "Unsupported Cray compiler, please try running the configure script."
183
+ #endif
184
+
185
+ ////
186
+ //// Baseline values
187
+ ////
188
+
189
+ #include <boost/config/compiler/common_edg.hpp>
190
+
191
+ #define BOOST_HAS_NRVO
192
+ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION
193
+ #define BOOST_NO_CXX11_AUTO_DECLARATIONS
194
+ #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
195
+ #define BOOST_NO_CXX11_CHAR16_T
196
+ #define BOOST_NO_CXX11_CHAR32_T
197
+ #define BOOST_NO_CXX11_CONSTEXPR
198
+ #define BOOST_NO_CXX11_DECLTYPE
199
+ #define BOOST_NO_CXX11_DECLTYPE_N3276
200
+ #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
201
+ #define BOOST_NO_CXX11_DELETED_FUNCTIONS
202
+ #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
203
+ #define BOOST_NO_CXX11_FINAL
204
+ #define BOOST_NO_CXX11_OVERRIDE
205
+ #define BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
206
+ #define BOOST_NO_CXX11_LAMBDAS
207
+ #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
208
+ #define BOOST_NO_CXX11_NOEXCEPT
209
+ #define BOOST_NO_CXX11_NULLPTR
210
+ #define BOOST_NO_CXX11_RANGE_BASED_FOR
211
+ #define BOOST_NO_CXX11_RAW_LITERALS
212
+ #define BOOST_NO_CXX11_REF_QUALIFIERS
213
+ #define BOOST_NO_CXX11_RVALUE_REFERENCES
214
+ #define BOOST_NO_CXX11_SCOPED_ENUMS
215
+ #define BOOST_NO_CXX11_SFINAE_EXPR
216
+ #define BOOST_NO_CXX11_STATIC_ASSERT
217
+ #define BOOST_NO_CXX11_TEMPLATE_ALIASES
218
+ #define BOOST_NO_CXX11_THREAD_LOCAL
219
+ #define BOOST_NO_CXX11_UNICODE_LITERALS
220
+ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
221
+ #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
222
+ #define BOOST_NO_CXX11_VARIADIC_MACROS
223
+ #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
224
+ #define BOOST_NO_CXX11_UNRESTRICTED_UNION
225
+ #define BOOST_NO_SFINAE_EXPR
226
+ #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
227
+
228
+ //#define BOOST_BCB_PARTIAL_SPECIALIZATION_BUG
229
+ #define BOOST_MATH_DISABLE_STD_FPCLASSIFY
230
+ //#define BOOST_HAS_FPCLASSIFY
231
+
232
+ #define BOOST_SP_USE_PTHREADS
233
+ #define BOOST_AC_USE_PTHREADS
234
+
235
+ //
236
+ // Everything that follows is working around what are thought to be
237
+ // compiler shortcomings. Revist all of these regularly.
238
+ //
239
+
240
+ //#define BOOST_USE_ENUM_STATIC_ASSERT
241
+ //#define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS //(this may be implied by the previous #define
242
+
243
+ // These constants should be provided by the compiler.
244
+
245
+ #ifndef __ATOMIC_RELAXED
246
+ #define __ATOMIC_RELAXED 0
247
+ #define __ATOMIC_CONSUME 1
248
+ #define __ATOMIC_ACQUIRE 2
249
+ #define __ATOMIC_RELEASE 3
250
+ #define __ATOMIC_ACQ_REL 4
251
+ #define __ATOMIC_SEQ_CST 5
252
+ #endif
253
+
254
+ ////
255
+ //// Version changes
256
+ ////
257
+
258
+ //
259
+ // 8.5.0
260
+ //
261
+
262
+ #if BOOST_CRAY_VERSION >= 80500
263
+
264
+ #if __cplusplus >= 201103L
265
+
266
+ #undef BOOST_HAS_NRVO
267
+ #undef BOOST_NO_COMPLETE_VALUE_INITIALIZATION
268
+ #undef BOOST_NO_CXX11_AUTO_DECLARATIONS
269
+ #undef BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
270
+ #undef BOOST_NO_CXX11_CHAR16_T
271
+ #undef BOOST_NO_CXX11_CHAR32_T
272
+ #undef BOOST_NO_CXX11_CONSTEXPR
273
+ #undef BOOST_NO_CXX11_DECLTYPE
274
+ #undef BOOST_NO_CXX11_DECLTYPE_N3276
275
+ #undef BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
276
+ #undef BOOST_NO_CXX11_DELETED_FUNCTIONS
277
+ #undef BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
278
+ #undef BOOST_NO_CXX11_FINAL
279
+ #undef BOOST_NO_CXX11_OVERRIDE
280
+ #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
281
+ #undef BOOST_NO_CXX11_LAMBDAS
282
+ #undef BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
283
+ #undef BOOST_NO_CXX11_NOEXCEPT
284
+ #undef BOOST_NO_CXX11_NULLPTR
285
+ #undef BOOST_NO_CXX11_RANGE_BASED_FOR
286
+ #undef BOOST_NO_CXX11_RAW_LITERALS
287
+ #undef BOOST_NO_CXX11_REF_QUALIFIERS
288
+ #undef BOOST_NO_CXX11_RVALUE_REFERENCES
289
+ #undef BOOST_NO_CXX11_SCOPED_ENUMS
290
+ #undef BOOST_NO_CXX11_SFINAE_EXPR
291
+ #undef BOOST_NO_CXX11_STATIC_ASSERT
292
+ #undef BOOST_NO_CXX11_TEMPLATE_ALIASES
293
+ #undef BOOST_NO_CXX11_THREAD_LOCAL
294
+ #undef BOOST_NO_CXX11_UNICODE_LITERALS
295
+ #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
296
+ #undef BOOST_NO_CXX11_USER_DEFINED_LITERALS
297
+ #undef BOOST_NO_CXX11_VARIADIC_MACROS
298
+ #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
299
+ #undef BOOST_NO_CXX11_UNRESTRICTED_UNION
300
+ #undef BOOST_NO_SFINAE_EXPR
301
+ #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
302
+ #undef BOOST_MATH_DISABLE_STD_FPCLASSIFY
303
+ #undef BOOST_SP_USE_PTHREADS
304
+ #undef BOOST_AC_USE_PTHREADS
305
+
306
+ #define BOOST_HAS_VARIADIC_TMPL
307
+ #define BOOST_HAS_UNISTD_H
308
+ #define BOOST_HAS_TR1_COMPLEX_INVERSE_TRIG
309
+ #define BOOST_HAS_TR1_COMPLEX_OVERLOADS
310
+ #define BOOST_HAS_STDINT_H
311
+ #define BOOST_HAS_STATIC_ASSERT
312
+ #define BOOST_HAS_SIGACTION
313
+ #define BOOST_HAS_SCHED_YIELD
314
+ #define BOOST_HAS_RVALUE_REFS
315
+ #define BOOST_HAS_PTHREADS
316
+ #define BOOST_HAS_PTHREAD_YIELD
317
+ #define BOOST_HAS_PTHREAD_MUTEXATTR_SETTYPE
318
+ #define BOOST_HAS_PARTIAL_STD_ALLOCATOR
319
+ #define BOOST_HAS_NRVO
320
+ #define BOOST_HAS_NL_TYPES_H
321
+ #define BOOST_HAS_NANOSLEEP
322
+ #define BOOST_NO_CXX11_SMART_PTR
323
+ #define BOOST_NO_CXX11_HDR_FUNCTIONAL
324
+ #define BOOST_NO_CXX14_CONSTEXPR
325
+ #define BOOST_HAS_LONG_LONG
326
+ #define BOOST_HAS_FLOAT128
327
+
328
+ #if __cplusplus < 201402L
329
+ #define BOOST_NO_CXX11_DECLTYPE_N3276
330
+ #endif // __cplusplus < 201402L
331
+
332
+ #endif // __cplusplus >= 201103L
333
+
334
+ #endif // BOOST_CRAY_VERSION >= 80500
335
+
336
+ //
337
+ // 8.6.4
338
+ // (versions prior to 8.6.5 do not define _RELEASE_PATCHLEVEL)
339
+ //
340
+
341
+ #if BOOST_CRAY_VERSION >= 80600
342
+
343
+ #if __cplusplus >= 199711L
344
+ #define BOOST_HAS_FLOAT128
345
+ #define BOOST_HAS_PTHREAD_YIELD // This is a platform macro, but it improves test results.
346
+ #define BOOST_NO_COMPLETE_VALUE_INITIALIZATION // This is correct. Test compiles, but fails to run.
347
+ #undef BOOST_NO_CXX11_CHAR16_T
348
+ #undef BOOST_NO_CXX11_CHAR32_T
349
+ #undef BOOST_NO_CXX11_INLINE_NAMESPACES
350
+ #undef BOOST_NO_CXX11_FINAL
351
+ #undef BOOST_NO_CXX11_OVERRIDE
352
+ #undef BOOST_NO_CXX11_FIXED_LENGTH_VARIADIC_TEMPLATE_EXPANSION_PACKS
353
+ #undef BOOST_NO_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGS
354
+ #define BOOST_NO_CXX11_SFINAE_EXPR // This is correct, even though '*_fail.cpp' test fails.
355
+ #undef BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
356
+ #undef BOOST_NO_CXX11_VARIADIC_MACROS
357
+ #undef BOOST_NO_CXX11_VARIADIC_TEMPLATES
358
+ // 'BOOST_NO_DEDUCED_TYPENAME' test is broken. The test files are enabled /
359
+ // disabled with an '#ifdef BOOST_DEDUCED_TYPENAME'. However,
360
+ // 'boost/libs/config/include/boost/config/detail/suffix.hpp' ensures that
361
+ // 'BOOST_DEDUCED_TYPENAME' is always defined (the value it is defined as
362
+ // depends on 'BOOST_NO_DEDUCED_TYPENAME'). So, modifying
363
+ // 'BOOST_NO_DEDUCED_TYPENAME' has no effect on which tests are run.
364
+ //
365
+ // The 'no_ded_typename_pass.cpp' test should always compile and run
366
+ // successfully, because 'BOOST_DEDUCED_TYPENAME' must always have an
367
+ // appropriate value (it's not just something that you turn on or off).
368
+ // Therefore, if you wish to test changes to 'BOOST_NO_DEDUCED_TYPENAME',
369
+ // you have to modify 'no_ded_typename_pass.cpp' to unconditionally include
370
+ // 'boost_no_ded_typename.ipp'.
371
+ #undef BOOST_NO_DEDUCED_TYPENAME // This is correct. Test is broken.
372
+ #undef BOOST_NO_SFINAE_EXPR
373
+ #undef BOOST_NO_TWO_PHASE_NAME_LOOKUP
374
+ #endif // __cplusplus >= 199711L
375
+
376
+ #if __cplusplus >= 201103L
377
+ #undef BOOST_NO_CXX11_ALIGNAS
378
+ #undef BOOST_NO_CXX11_ALIGNOF
379
+ #undef BOOST_NO_CXX11_DECLTYPE_N3276
380
+ #define BOOST_NO_CXX11_HDR_ATOMIC
381
+ #undef BOOST_NO_CXX11_HDR_FUNCTIONAL
382
+ #define BOOST_NO_CXX11_HDR_REGEX // This is correct. Test compiles, but fails to run.
383
+ #undef BOOST_NO_CXX11_SFINAE_EXPR
384
+ #undef BOOST_NO_CXX11_SMART_PTR
385
+ #undef BOOST_NO_CXX11_TRAILING_RESULT_TYPES
386
+ #endif // __cplusplus >= 201103L
387
+
388
+ #if __cplusplus >= 201402L
389
+ #undef BOOST_NO_CXX14_CONSTEXPR
390
+ #define BOOST_NO_CXX14_DIGIT_SEPARATORS
391
+ #endif // __cplusplus == 201402L
392
+
393
+ #endif // BOOST_CRAY_VERSION >= 80600
394
+
395
+ //
396
+ // 8.6.5
397
+ // (no change from 8.6.4)
398
+ //
399
+
400
+ //
401
+ // 8.7.0
402
+ //
403
+
404
+ #if BOOST_CRAY_VERSION >= 80700
405
+
406
+ #if __cplusplus >= 199711L
407
+ #endif // __cplusplus >= 199711L
408
+
409
+ #if __cplusplus >= 201103L
410
+ #undef BOOST_NO_CXX11_HDR_ATOMIC
411
+ #undef BOOST_NO_CXX11_HDR_REGEX
412
+ #endif // __cplusplus >= 201103L
413
+
414
+ #if __cplusplus >= 201402L
415
+ #endif // __cplusplus == 201402L
416
+
417
+ #endif // BOOST_CRAY_VERSION >= 80700
418
+
419
+ //
420
+ // Next release
421
+ //
422
+
423
+ #if BOOST_CRAY_VERSION > 80799
424
+
425
+ #if __cplusplus >= 199711L
426
+ #endif // __cplusplus >= 199711L
427
+
428
+ #if __cplusplus >= 201103L
429
+ #endif // __cplusplus >= 201103L
430
+
431
+ #if __cplusplus >= 201402L
432
+ #endif // __cplusplus == 201402L
433
+
434
+ #endif // BOOST_CRAY_VERSION > 80799
435
+
436
+ ////
437
+ //// Remove temporary macros
438
+ ////
439
+
440
+ // I've commented out some '#undef' statements to signify that we purposely
441
+ // want to keep certain macros.
442
+
443
+ //#undef __GXX_EXPERIMENTAL_CXX0X__
444
+ //#undef BOOST_COMPILER
445
+ #undef BOOST_GCC_VERSION
446
+ #undef BOOST_CRAY_VERSION
@@ -0,0 +1,26 @@
1
+ // (C) Copyright Brian Kuhl 2016.
2
+ // Use, modification and distribution are subject to the
3
+ // Boost Software License, Version 1.0. (See accompanying file
4
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
+
6
+ // Check this is a recent EDG based compiler, otherwise we don't support it here:
7
+
8
+
9
+ #ifndef __EDG_VERSION__
10
+ # error "Unknown Diab compiler version - please run the configure tests and report the results"
11
+ #endif
12
+
13
+ #include "boost/config/compiler/common_edg.hpp"
14
+
15
+ #define BOOST_NO_TWO_PHASE_NAME_LOOKUP
16
+ #define BOOST_BUGGY_INTEGRAL_CONSTANT_EXPRESSIONS
17
+
18
+ #define BOOST_MPL_CFG_NO_HAS_XXX_TEMPLATE
19
+ #define BOOST_LOG_NO_MEMBER_TEMPLATE_FRIENDS
20
+ #define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
21
+
22
+ #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
23
+ #define BOOST_NO_CXX11_HDR_CODECVT
24
+ #define BOOST_NO_CXX11_NUMERIC_LIMITS
25
+
26
+ #define BOOST_COMPILER "Wind River Diab " BOOST_STRINGIZE(__VERSION_NUMBER__)
@@ -0,0 +1,143 @@
1
+ // Copyright (C) Christof Meerwald 2003
2
+ // Copyright (C) Dan Watkins 2003
3
+ //
4
+ // Use, modification and distribution are subject to the
5
+ // Boost Software License, Version 1.0. (See accompanying file
6
+ // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7
+
8
+ // Digital Mars C++ compiler setup:
9
+ #define BOOST_COMPILER __DMC_VERSION_STRING__
10
+
11
+ #define BOOST_HAS_LONG_LONG
12
+ #define BOOST_HAS_PRAGMA_ONCE
13
+
14
+ #if !defined(BOOST_STRICT_CONFIG)
15
+ #define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
16
+ #define BOOST_NO_OPERATORS_IN_NAMESPACE
17
+ #define BOOST_NO_UNREACHABLE_RETURN_DETECTION
18
+ #define BOOST_NO_SFINAE
19
+ #define BOOST_NO_USING_TEMPLATE
20
+ #define BOOST_FUNCTION_SCOPE_USING_DECLARATION_BREAKS_ADL
21
+ #endif
22
+
23
+ //
24
+ // has macros:
25
+ #define BOOST_HAS_DIRENT_H
26
+ #define BOOST_HAS_STDINT_H
27
+ #define BOOST_HAS_WINTHREADS
28
+
29
+ #if (__DMC__ >= 0x847)
30
+ #define BOOST_HAS_EXPM1
31
+ #define BOOST_HAS_LOG1P
32
+ #endif
33
+
34
+ //
35
+ // Is this really the best way to detect whether the std lib is in namespace std?
36
+ //
37
+ #ifdef __cplusplus
38
+ #include <cstddef>
39
+ #endif
40
+ #if !defined(__STL_IMPORT_VENDOR_CSTD) && !defined(_STLP_IMPORT_VENDOR_CSTD)
41
+ # define BOOST_NO_STDC_NAMESPACE
42
+ #endif
43
+
44
+
45
+ // check for exception handling support:
46
+ #if !defined(_CPPUNWIND) && !defined(BOOST_NO_EXCEPTIONS)
47
+ # define BOOST_NO_EXCEPTIONS
48
+ #endif
49
+
50
+ //
51
+ // C++0x features
52
+ //
53
+ #define BOOST_NO_CXX11_AUTO_DECLARATIONS
54
+ #define BOOST_NO_CXX11_AUTO_MULTIDECLARATIONS
55
+ #define BOOST_NO_CXX11_CHAR16_T
56
+ #define BOOST_NO_CXX11_CHAR32_T
57
+ #define BOOST_NO_CXX11_CONSTEXPR
58
+ #define BOOST_NO_CXX11_DECLTYPE
59
+ #define BOOST_NO_CXX11_DECLTYPE_N3276
60
+ #define BOOST_NO_CXX11_DEFAULTED_FUNCTIONS
61
+ #define BOOST_NO_CXX11_DELETED_FUNCTIONS
62
+ #define BOOST_NO_CXX11_EXPLICIT_CONVERSION_OPERATORS
63
+ #define BOOST_NO_CXX11_EXTERN_TEMPLATE
64
+ #define BOOST_NO_CXX11_HDR_INITIALIZER_LIST
65
+ #define BOOST_NO_CXX11_LAMBDAS
66
+ #define BOOST_NO_CXX11_LOCAL_CLASS_TEMPLATE_PARAMETERS
67
+ #define BOOST_NO_CXX11_NOEXCEPT
68
+ #define BOOST_NO_CXX11_NULLPTR
69
+ #define BOOST_NO_CXX11_RANGE_BASED_FOR
70
+ #define BOOST_NO_CXX11_RAW_LITERALS
71
+ #define BOOST_NO_CXX11_RVALUE_REFERENCES
72
+ #define BOOST_NO_CXX11_SCOPED_ENUMS
73
+ #define BOOST_NO_SFINAE_EXPR
74
+ #define BOOST_NO_CXX11_SFINAE_EXPR
75
+ #define BOOST_NO_CXX11_STATIC_ASSERT
76
+ #define BOOST_NO_CXX11_TEMPLATE_ALIASES
77
+ #define BOOST_NO_CXX11_UNICODE_LITERALS
78
+ #define BOOST_NO_CXX11_VARIADIC_TEMPLATES
79
+ #define BOOST_NO_CXX11_UNIFIED_INITIALIZATION_SYNTAX
80
+ #define BOOST_NO_CXX11_USER_DEFINED_LITERALS
81
+ #define BOOST_NO_CXX11_ALIGNAS
82
+ #define BOOST_NO_CXX11_ALIGNOF
83
+ #define BOOST_NO_CXX11_TRAILING_RESULT_TYPES
84
+ #define BOOST_NO_CXX11_INLINE_NAMESPACES
85
+ #define BOOST_NO_CXX11_REF_QUALIFIERS
86
+ #define BOOST_NO_CXX11_FINAL
87
+ #define BOOST_NO_CXX11_OVERRIDE
88
+ #define BOOST_NO_CXX11_THREAD_LOCAL
89
+ #define BOOST_NO_CXX11_UNRESTRICTED_UNION
90
+
91
+ // C++ 14:
92
+ #if !defined(__cpp_aggregate_nsdmi) || (__cpp_aggregate_nsdmi < 201304)
93
+ # define BOOST_NO_CXX14_AGGREGATE_NSDMI
94
+ #endif
95
+ #if !defined(__cpp_binary_literals) || (__cpp_binary_literals < 201304)
96
+ # define BOOST_NO_CXX14_BINARY_LITERALS
97
+ #endif
98
+ #if !defined(__cpp_constexpr) || (__cpp_constexpr < 201304)
99
+ # define BOOST_NO_CXX14_CONSTEXPR
100
+ #endif
101
+ #if !defined(__cpp_decltype_auto) || (__cpp_decltype_auto < 201304)
102
+ # define BOOST_NO_CXX14_DECLTYPE_AUTO
103
+ #endif
104
+ #if (__cplusplus < 201304) // There's no SD6 check for this....
105
+ # define BOOST_NO_CXX14_DIGIT_SEPARATORS
106
+ #endif
107
+ #if !defined(__cpp_generic_lambdas) || (__cpp_generic_lambdas < 201304)
108
+ # define BOOST_NO_CXX14_GENERIC_LAMBDAS
109
+ #endif
110
+ #if !defined(__cpp_init_captures) || (__cpp_init_captures < 201304)
111
+ # define BOOST_NO_CXX14_INITIALIZED_LAMBDA_CAPTURES
112
+ #endif
113
+ #if !defined(__cpp_return_type_deduction) || (__cpp_return_type_deduction < 201304)
114
+ # define BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION
115
+ #endif
116
+ #if !defined(__cpp_variable_templates) || (__cpp_variable_templates < 201304)
117
+ # define BOOST_NO_CXX14_VARIABLE_TEMPLATES
118
+ #endif
119
+
120
+ // C++17
121
+ #if !defined(__cpp_structured_bindings) || (__cpp_structured_bindings < 201606)
122
+ # define BOOST_NO_CXX17_STRUCTURED_BINDINGS
123
+ #endif
124
+ #if !defined(__cpp_inline_variables) || (__cpp_inline_variables < 201606)
125
+ # define BOOST_NO_CXX17_INLINE_VARIABLES
126
+ #endif
127
+ #if !defined(__cpp_fold_expressions) || (__cpp_fold_expressions < 201603)
128
+ # define BOOST_NO_CXX17_FOLD_EXPRESSIONS
129
+ #endif
130
+ #if !defined(__cpp_if_constexpr) || (__cpp_if_constexpr < 201606)
131
+ # define BOOST_NO_CXX17_IF_CONSTEXPR
132
+ #endif
133
+
134
+ #if (__DMC__ <= 0x840)
135
+ #error "Compiler not supported or configured - please reconfigure"
136
+ #endif
137
+ //
138
+ // last known and checked version is ...:
139
+ #if (__DMC__ > 0x848)
140
+ # if defined(BOOST_ASSERT_CONFIG)
141
+ # error "boost: Unknown compiler version - please run the configure tests and report the results"
142
+ # endif
143
+ #endif