@dittolive/ditto 4.5.0 → 4.5.1-experimental.aarch64-linux.1.aarch64

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/README.md +2 -2
  2. package/node/ditto.cjs.js +2 -9620
  3. package/node/{ditto.linux-x64.node → ditto.linux-arm64.node} +0 -0
  4. package/package.json +38 -34
  5. package/types/ditto.d.ts +0 -2
  6. package/web/ditto.es6.js +1 -1
  7. package/web/ditto.umd.js +1 -1
  8. package/web/ditto.wasm +0 -0
  9. package/DittoReactNative.podspec +0 -27
  10. package/node/ditto.darwin-arm64.node +0 -0
  11. package/node/ditto.darwin-x64.node +0 -0
  12. package/node/ditto.linux-arm.node +0 -0
  13. package/node/ditto.win32-x64.node +0 -0
  14. package/node/transports.darwin-arm64.node +0 -0
  15. package/node/transports.darwin-x64.node +0 -0
  16. package/react-native/android/CMakeLists.txt +0 -37
  17. package/react-native/android/build.gradle +0 -203
  18. package/react-native/android/cpp-adapter.cpp +0 -254
  19. package/react-native/android/gradle.properties +0 -5
  20. package/react-native/android/src/main/AndroidManifest.xml +0 -4
  21. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKModule.java +0 -85
  22. package/react-native/android/src/main/java/com/dittolive/rnsdk/DittoRNSDKPackage.java +0 -28
  23. package/react-native/boost/boost/assert.hpp +0 -85
  24. package/react-native/boost/boost/config/abi/borland_prefix.hpp +0 -27
  25. package/react-native/boost/boost/config/abi/borland_suffix.hpp +0 -12
  26. package/react-native/boost/boost/config/abi/msvc_prefix.hpp +0 -22
  27. package/react-native/boost/boost/config/abi/msvc_suffix.hpp +0 -8
  28. package/react-native/boost/boost/config/abi_prefix.hpp +0 -25
  29. package/react-native/boost/boost/config/abi_suffix.hpp +0 -25
  30. package/react-native/boost/boost/config/assert_cxx03.hpp +0 -211
  31. package/react-native/boost/boost/config/assert_cxx11.hpp +0 -209
  32. package/react-native/boost/boost/config/assert_cxx14.hpp +0 -47
  33. package/react-native/boost/boost/config/assert_cxx17.hpp +0 -62
  34. package/react-native/boost/boost/config/assert_cxx20.hpp +0 -59
  35. package/react-native/boost/boost/config/assert_cxx98.hpp +0 -23
  36. package/react-native/boost/boost/config/auto_link.hpp +0 -525
  37. package/react-native/boost/boost/config/compiler/borland.hpp +0 -339
  38. package/react-native/boost/boost/config/compiler/clang.hpp +0 -366
  39. package/react-native/boost/boost/config/compiler/clang_version.hpp +0 -83
  40. package/react-native/boost/boost/config/compiler/codegear.hpp +0 -385
  41. package/react-native/boost/boost/config/compiler/comeau.hpp +0 -59
  42. package/react-native/boost/boost/config/compiler/common_edg.hpp +0 -183
  43. package/react-native/boost/boost/config/compiler/compaq_cxx.hpp +0 -19
  44. package/react-native/boost/boost/config/compiler/cray.hpp +0 -446
  45. package/react-native/boost/boost/config/compiler/diab.hpp +0 -26
  46. package/react-native/boost/boost/config/compiler/digitalmars.hpp +0 -143
  47. package/react-native/boost/boost/config/compiler/gcc.hpp +0 -383
  48. package/react-native/boost/boost/config/compiler/gcc_xml.hpp +0 -114
  49. package/react-native/boost/boost/config/compiler/greenhills.hpp +0 -28
  50. package/react-native/boost/boost/config/compiler/hp_acc.hpp +0 -149
  51. package/react-native/boost/boost/config/compiler/intel.hpp +0 -577
  52. package/react-native/boost/boost/config/compiler/kai.hpp +0 -33
  53. package/react-native/boost/boost/config/compiler/metrowerks.hpp +0 -198
  54. package/react-native/boost/boost/config/compiler/mpw.hpp +0 -140
  55. package/react-native/boost/boost/config/compiler/nvcc.hpp +0 -61
  56. package/react-native/boost/boost/config/compiler/pathscale.hpp +0 -138
  57. package/react-native/boost/boost/config/compiler/pgi.hpp +0 -23
  58. package/react-native/boost/boost/config/compiler/sgi_mipspro.hpp +0 -29
  59. package/react-native/boost/boost/config/compiler/sunpro_cc.hpp +0 -222
  60. package/react-native/boost/boost/config/compiler/vacpp.hpp +0 -186
  61. package/react-native/boost/boost/config/compiler/visualc.hpp +0 -391
  62. package/react-native/boost/boost/config/compiler/xlcpp.hpp +0 -299
  63. package/react-native/boost/boost/config/compiler/xlcpp_zos.hpp +0 -173
  64. package/react-native/boost/boost/config/detail/cxx_composite.hpp +0 -203
  65. package/react-native/boost/boost/config/detail/posix_features.hpp +0 -95
  66. package/react-native/boost/boost/config/detail/select_compiler_config.hpp +0 -157
  67. package/react-native/boost/boost/config/detail/select_platform_config.hpp +0 -147
  68. package/react-native/boost/boost/config/detail/select_stdlib_config.hpp +0 -121
  69. package/react-native/boost/boost/config/detail/suffix.hpp +0 -1294
  70. package/react-native/boost/boost/config/header_deprecated.hpp +0 -26
  71. package/react-native/boost/boost/config/helper_macros.hpp +0 -37
  72. package/react-native/boost/boost/config/no_tr1/cmath.hpp +0 -28
  73. package/react-native/boost/boost/config/no_tr1/complex.hpp +0 -28
  74. package/react-native/boost/boost/config/no_tr1/functional.hpp +0 -28
  75. package/react-native/boost/boost/config/no_tr1/memory.hpp +0 -28
  76. package/react-native/boost/boost/config/no_tr1/utility.hpp +0 -28
  77. package/react-native/boost/boost/config/platform/aix.hpp +0 -33
  78. package/react-native/boost/boost/config/platform/amigaos.hpp +0 -15
  79. package/react-native/boost/boost/config/platform/beos.hpp +0 -26
  80. package/react-native/boost/boost/config/platform/bsd.hpp +0 -83
  81. package/react-native/boost/boost/config/platform/cloudabi.hpp +0 -18
  82. package/react-native/boost/boost/config/platform/cray.hpp +0 -18
  83. package/react-native/boost/boost/config/platform/cygwin.hpp +0 -71
  84. package/react-native/boost/boost/config/platform/haiku.hpp +0 -31
  85. package/react-native/boost/boost/config/platform/hpux.hpp +0 -87
  86. package/react-native/boost/boost/config/platform/irix.hpp +0 -31
  87. package/react-native/boost/boost/config/platform/linux.hpp +0 -106
  88. package/react-native/boost/boost/config/platform/macos.hpp +0 -87
  89. package/react-native/boost/boost/config/platform/qnxnto.hpp +0 -31
  90. package/react-native/boost/boost/config/platform/solaris.hpp +0 -31
  91. package/react-native/boost/boost/config/platform/symbian.hpp +0 -97
  92. package/react-native/boost/boost/config/platform/vms.hpp +0 -25
  93. package/react-native/boost/boost/config/platform/vxworks.hpp +0 -422
  94. package/react-native/boost/boost/config/platform/wasm.hpp +0 -23
  95. package/react-native/boost/boost/config/platform/win32.hpp +0 -90
  96. package/react-native/boost/boost/config/platform/zos.hpp +0 -32
  97. package/react-native/boost/boost/config/pragma_message.hpp +0 -31
  98. package/react-native/boost/boost/config/requires_threads.hpp +0 -92
  99. package/react-native/boost/boost/config/stdlib/dinkumware.hpp +0 -324
  100. package/react-native/boost/boost/config/stdlib/libcomo.hpp +0 -93
  101. package/react-native/boost/boost/config/stdlib/libcpp.hpp +0 -180
  102. package/react-native/boost/boost/config/stdlib/libstdcpp3.hpp +0 -482
  103. package/react-native/boost/boost/config/stdlib/modena.hpp +0 -79
  104. package/react-native/boost/boost/config/stdlib/msl.hpp +0 -98
  105. package/react-native/boost/boost/config/stdlib/roguewave.hpp +0 -208
  106. package/react-native/boost/boost/config/stdlib/sgi.hpp +0 -168
  107. package/react-native/boost/boost/config/stdlib/stlport.hpp +0 -258
  108. package/react-native/boost/boost/config/stdlib/vacpp.hpp +0 -74
  109. package/react-native/boost/boost/config/stdlib/xlcpp_zos.hpp +0 -61
  110. package/react-native/boost/boost/config/user.hpp +0 -133
  111. package/react-native/boost/boost/config/warning_disable.hpp +0 -47
  112. package/react-native/boost/boost/config/workaround.hpp +0 -305
  113. package/react-native/boost/boost/config.hpp +0 -67
  114. package/react-native/boost/boost/cstdint.hpp +0 -556
  115. package/react-native/boost/boost/intrusive_ptr.hpp +0 -18
  116. package/react-native/boost/boost/smart_ptr/detail/atomic_count.hpp +0 -103
  117. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc.hpp +0 -79
  118. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_atomic.hpp +0 -63
  119. package/react-native/boost/boost/smart_ptr/detail/atomic_count_gcc_x86.hpp +0 -88
  120. package/react-native/boost/boost/smart_ptr/detail/atomic_count_nt.hpp +0 -66
  121. package/react-native/boost/boost/smart_ptr/detail/atomic_count_pt.hpp +0 -104
  122. package/react-native/boost/boost/smart_ptr/detail/atomic_count_spin.hpp +0 -69
  123. package/react-native/boost/boost/smart_ptr/detail/atomic_count_std_atomic.hpp +0 -67
  124. package/react-native/boost/boost/smart_ptr/detail/atomic_count_sync.hpp +0 -72
  125. package/react-native/boost/boost/smart_ptr/detail/atomic_count_win32.hpp +0 -70
  126. package/react-native/boost/boost/smart_ptr/detail/local_counted_base.hpp +0 -148
  127. package/react-native/boost/boost/smart_ptr/detail/local_sp_deleter.hpp +0 -91
  128. package/react-native/boost/boost/smart_ptr/detail/operator_bool.hpp +0 -64
  129. package/react-native/boost/boost/smart_ptr/detail/requires_cxx11.hpp +0 -23
  130. package/react-native/boost/boost/smart_ptr/detail/shared_count.hpp +0 -707
  131. package/react-native/boost/boost/smart_ptr/detail/sp_convertible.hpp +0 -92
  132. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base.hpp +0 -92
  133. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp +0 -163
  134. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_aix.hpp +0 -152
  135. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp +0 -185
  136. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp +0 -148
  137. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp +0 -170
  138. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp +0 -200
  139. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp +0 -194
  140. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp +0 -179
  141. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp +0 -186
  142. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_nt.hpp +0 -119
  143. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_pt.hpp +0 -147
  144. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp +0 -174
  145. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_spin.hpp +0 -141
  146. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp +0 -147
  147. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_sync.hpp +0 -165
  148. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp +0 -163
  149. package/react-native/boost/boost/smart_ptr/detail/sp_counted_base_w32.hpp +0 -140
  150. package/react-native/boost/boost/smart_ptr/detail/sp_counted_impl.hpp +0 -309
  151. package/react-native/boost/boost/smart_ptr/detail/sp_disable_deprecated.hpp +0 -40
  152. package/react-native/boost/boost/smart_ptr/detail/sp_forward.hpp +0 -52
  153. package/react-native/boost/boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp +0 -27
  154. package/react-native/boost/boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp +0 -69
  155. package/react-native/boost/boost/smart_ptr/detail/sp_interlocked.hpp +0 -173
  156. package/react-native/boost/boost/smart_ptr/detail/sp_noexcept.hpp +0 -48
  157. package/react-native/boost/boost/smart_ptr/detail/sp_nullptr_t.hpp +0 -45
  158. package/react-native/boost/boost/smart_ptr/detail/sp_obsolete.hpp +0 -32
  159. package/react-native/boost/boost/smart_ptr/detail/sp_thread_pause.hpp +0 -51
  160. package/react-native/boost/boost/smart_ptr/detail/sp_thread_sleep.hpp +0 -104
  161. package/react-native/boost/boost/smart_ptr/detail/sp_thread_yield.hpp +0 -100
  162. package/react-native/boost/boost/smart_ptr/detail/sp_typeinfo_.hpp +0 -58
  163. package/react-native/boost/boost/smart_ptr/detail/sp_win32_sleep.hpp +0 -49
  164. package/react-native/boost/boost/smart_ptr/intrusive_ptr.hpp +0 -409
  165. package/react-native/boost/boost/smart_ptr/intrusive_ref_counter.hpp +0 -188
  166. package/react-native/cpp/include/Attachment.h +0 -16
  167. package/react-native/cpp/include/Authentication.h +0 -23
  168. package/react-native/cpp/include/Collection.h +0 -13
  169. package/react-native/cpp/include/DQL.h +0 -21
  170. package/react-native/cpp/include/Document.h +0 -17
  171. package/react-native/cpp/include/Identity.h +0 -17
  172. package/react-native/cpp/include/Lifecycle.h +0 -16
  173. package/react-native/cpp/include/LiveQuery.h +0 -17
  174. package/react-native/cpp/include/Logger.h +0 -22
  175. package/react-native/cpp/include/Misc.h +0 -26
  176. package/react-native/cpp/include/Presence.h +0 -14
  177. package/react-native/cpp/include/RetainableState.h +0 -24
  178. package/react-native/cpp/include/SmallPeerInfo.h +0 -17
  179. package/react-native/cpp/include/Transports.h +0 -25
  180. package/react-native/cpp/include/TypedArray.hpp +0 -167
  181. package/react-native/cpp/include/Utils.h +0 -61
  182. package/react-native/cpp/include/main.h +0 -10
  183. package/react-native/cpp/src/Attachment.cpp +0 -86
  184. package/react-native/cpp/src/Authentication.cpp +0 -224
  185. package/react-native/cpp/src/Collection.cpp +0 -54
  186. package/react-native/cpp/src/DQL.cpp +0 -254
  187. package/react-native/cpp/src/Document.cpp +0 -146
  188. package/react-native/cpp/src/Identity.cpp +0 -123
  189. package/react-native/cpp/src/Lifecycle.cpp +0 -75
  190. package/react-native/cpp/src/LiveQuery.cpp +0 -64
  191. package/react-native/cpp/src/Logger.cpp +0 -200
  192. package/react-native/cpp/src/Misc.cpp +0 -271
  193. package/react-native/cpp/src/Presence.cpp +0 -77
  194. package/react-native/cpp/src/RetainableState.cpp +0 -15
  195. package/react-native/cpp/src/SmallPeerInfo.cpp +0 -108
  196. package/react-native/cpp/src/Transports.cpp +0 -270
  197. package/react-native/cpp/src/TypedArray.cpp +0 -303
  198. package/react-native/cpp/src/Utils.cpp +0 -138
  199. package/react-native/cpp/src/main.cpp +0 -149
  200. package/react-native/dittoffi/dittoffi.h +0 -4698
  201. package/react-native/dittoffi/ifaddrs.cpp +0 -385
  202. package/react-native/dittoffi/ifaddrs.h +0 -206
  203. package/react-native/ios/DittoRNSDK.h +0 -7
  204. package/react-native/ios/DittoRNSDK.mm +0 -107
  205. package/react-native/ios/YeetJSIUtils.h +0 -60
  206. package/react-native/ios/YeetJSIUtils.mm +0 -196
  207. package/react-native/lib/commonjs/ditto.rn.js +0 -93
  208. package/react-native/lib/commonjs/ditto.rn.js.map +0 -1
  209. package/react-native/lib/commonjs/index.js +0 -14
  210. package/react-native/lib/commonjs/index.js.map +0 -1
  211. package/react-native/lib/module/ditto.rn.js +0 -83
  212. package/react-native/lib/module/ditto.rn.js.map +0 -1
  213. package/react-native/lib/module/index.js +0 -13
  214. package/react-native/lib/module/index.js.map +0 -1
  215. package/react-native/lib/typescript/ditto.rn.d.ts +0 -15
  216. package/react-native/lib/typescript/ditto.rn.d.ts.map +0 -1
  217. package/react-native/lib/typescript/index.d.ts +0 -1
  218. package/react-native/lib/typescript/index.d.ts.map +0 -1
  219. package/react-native/scripts/ruby/include_local_boost.rb +0 -78
  220. package/react-native/src/ditto.rn.ts +0 -91
  221. package/react-native/src/environment/environment.fallback.ts +0 -4
  222. package/react-native/src/index.ts +0 -26
  223. package/react-native/src/sources/@cbor-redux.ts +0 -2
  224. package/react-native/src/sources/@ditto.core.ts +0 -1
  225. package/react-native/src/sources/@environment.ts +0 -2
  226. package/react-native/src/sources/attachment-fetch-event.ts +0 -54
  227. package/react-native/src/sources/attachment-fetcher-manager.ts +0 -129
  228. package/react-native/src/sources/attachment-fetcher.ts +0 -124
  229. package/react-native/src/sources/attachment-token.ts +0 -48
  230. package/react-native/src/sources/attachment.ts +0 -59
  231. package/react-native/src/sources/augment.ts +0 -89
  232. package/react-native/src/sources/authenticator.ts +0 -314
  233. package/react-native/src/sources/base-pending-cursor-operation.ts +0 -237
  234. package/react-native/src/sources/base-pending-id-specific-operation.ts +0 -109
  235. package/react-native/src/sources/bridge.ts +0 -549
  236. package/react-native/src/sources/build-time-constants.ts +0 -4
  237. package/react-native/src/sources/cbor.ts +0 -35
  238. package/react-native/src/sources/collection-interface.ts +0 -67
  239. package/react-native/src/sources/collection.ts +0 -212
  240. package/react-native/src/sources/collections-event.ts +0 -99
  241. package/react-native/src/sources/counter.ts +0 -77
  242. package/react-native/src/sources/ditto.ts +0 -945
  243. package/react-native/src/sources/document-id.ts +0 -159
  244. package/react-native/src/sources/document-path.ts +0 -303
  245. package/react-native/src/sources/document.ts +0 -192
  246. package/react-native/src/sources/epilogue.ts +0 -24
  247. package/react-native/src/sources/error-codes.ts +0 -52
  248. package/react-native/src/sources/error.ts +0 -203
  249. package/react-native/src/sources/essentials.ts +0 -53
  250. package/react-native/src/sources/ffi-error.ts +0 -117
  251. package/react-native/src/sources/ffi.ts +0 -1972
  252. package/react-native/src/sources/identity.ts +0 -163
  253. package/react-native/src/sources/init.ts +0 -70
  254. package/react-native/src/sources/internal.ts +0 -113
  255. package/react-native/src/sources/keep-alive.ts +0 -69
  256. package/react-native/src/sources/key-path.ts +0 -195
  257. package/react-native/src/sources/live-query-event.ts +0 -208
  258. package/react-native/src/sources/live-query-manager.ts +0 -101
  259. package/react-native/src/sources/live-query.ts +0 -164
  260. package/react-native/src/sources/logger.ts +0 -196
  261. package/react-native/src/sources/observer-manager.ts +0 -175
  262. package/react-native/src/sources/observer.ts +0 -77
  263. package/react-native/src/sources/pending-collections-operation.ts +0 -232
  264. package/react-native/src/sources/pending-cursor-operation.ts +0 -218
  265. package/react-native/src/sources/pending-id-specific-operation.ts +0 -216
  266. package/react-native/src/sources/presence-manager.ts +0 -160
  267. package/react-native/src/sources/presence.ts +0 -238
  268. package/react-native/src/sources/query-result-item.ts +0 -116
  269. package/react-native/src/sources/query-result.ts +0 -55
  270. package/react-native/src/sources/register.ts +0 -92
  271. package/react-native/src/sources/small-peer-info.ts +0 -176
  272. package/react-native/src/sources/static-tcp-client.ts +0 -6
  273. package/react-native/src/sources/store-observer.ts +0 -176
  274. package/react-native/src/sources/store.ts +0 -365
  275. package/react-native/src/sources/subscription-manager.ts +0 -98
  276. package/react-native/src/sources/subscription.ts +0 -88
  277. package/react-native/src/sources/sync-subscription.ts +0 -90
  278. package/react-native/src/sources/sync.ts +0 -495
  279. package/react-native/src/sources/test-helpers.ts +0 -24
  280. package/react-native/src/sources/transport-conditions-manager.ts +0 -104
  281. package/react-native/src/sources/transport-config.ts +0 -428
  282. package/react-native/src/sources/update-result.ts +0 -66
  283. package/react-native/src/sources/update-results-map.ts +0 -57
  284. package/react-native/src/sources/websocket-client.ts +0 -6
  285. package/react-native/src/sources/write-transaction-collection.ts +0 -122
  286. package/react-native/src/sources/write-transaction-pending-cursor-operation.ts +0 -101
  287. package/react-native/src/sources/write-transaction-pending-id-specific-operation.ts +0 -72
  288. package/react-native/src/sources/write-transaction.ts +0 -119
  289. package/react-native.config.js +0 -9
@@ -1,92 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
3
-
4
- // MS compatible compilers support #pragma once
5
-
6
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7
- # pragma once
8
- #endif
9
-
10
- // detail/sp_convertible.hpp
11
- //
12
- // Copyright 2008 Peter Dimov
13
- //
14
- // Distributed under the Boost Software License, Version 1.0.
15
- // See accompanying file LICENSE_1_0.txt or copy at
16
- // http://www.boost.org/LICENSE_1_0.txt
17
-
18
- #include <boost/config.hpp>
19
- #include <cstddef>
20
-
21
- #if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_NO_SFINAE )
22
- # define BOOST_SP_NO_SP_CONVERTIBLE
23
- #endif
24
-
25
- #if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( __GNUC__ ) && ( __GNUC__ * 100 + __GNUC_MINOR__ < 303 )
26
- # define BOOST_SP_NO_SP_CONVERTIBLE
27
- #endif
28
-
29
- #if !defined( BOOST_SP_NO_SP_CONVERTIBLE ) && defined( BOOST_BORLANDC ) && ( BOOST_BORLANDC < 0x630 )
30
- # define BOOST_SP_NO_SP_CONVERTIBLE
31
- #endif
32
-
33
- #if !defined( BOOST_SP_NO_SP_CONVERTIBLE )
34
-
35
- namespace boost
36
- {
37
-
38
- namespace detail
39
- {
40
-
41
- template< class Y, class T > struct sp_convertible
42
- {
43
- typedef char (&yes) [1];
44
- typedef char (&no) [2];
45
-
46
- static yes f( T* );
47
- static no f( ... );
48
-
49
- enum _vt { value = sizeof( (f)( static_cast<Y*>(0) ) ) == sizeof(yes) };
50
- };
51
-
52
- template< class Y, class T > struct sp_convertible< Y, T[] >
53
- {
54
- enum _vt { value = false };
55
- };
56
-
57
- template< class Y, class T > struct sp_convertible< Y[], T[] >
58
- {
59
- enum _vt { value = sp_convertible< Y[1], T[1] >::value };
60
- };
61
-
62
- template< class Y, std::size_t N, class T > struct sp_convertible< Y[N], T[] >
63
- {
64
- enum _vt { value = sp_convertible< Y[1], T[1] >::value };
65
- };
66
-
67
- struct sp_empty
68
- {
69
- };
70
-
71
- template< bool > struct sp_enable_if_convertible_impl;
72
-
73
- template<> struct sp_enable_if_convertible_impl<true>
74
- {
75
- typedef sp_empty type;
76
- };
77
-
78
- template<> struct sp_enable_if_convertible_impl<false>
79
- {
80
- };
81
-
82
- template< class Y, class T > struct sp_enable_if_convertible: public sp_enable_if_convertible_impl< sp_convertible< Y, T >::value >
83
- {
84
- };
85
-
86
- } // namespace detail
87
-
88
- } // namespace boost
89
-
90
- #endif // !defined( BOOST_SP_NO_SP_CONVERTIBLE )
91
-
92
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_CONVERTIBLE_HPP_INCLUDED
@@ -1,92 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
3
-
4
- // MS compatible compilers support #pragma once
5
-
6
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7
- # pragma once
8
- #endif
9
-
10
- //
11
- // detail/sp_counted_base.hpp
12
- //
13
- // Copyright 2005-2013 Peter Dimov
14
- //
15
- // Distributed under the Boost Software License, Version 1.0. (See
16
- // accompanying file LICENSE_1_0.txt or copy at
17
- // http://www.boost.org/LICENSE_1_0.txt)
18
- //
19
-
20
- #include <boost/smart_ptr/detail/sp_has_gcc_intrinsics.hpp>
21
- #include <boost/smart_ptr/detail/sp_has_sync_intrinsics.hpp>
22
- #include <boost/config.hpp>
23
-
24
- #if defined( BOOST_SP_DISABLE_THREADS )
25
- # include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
26
-
27
- #elif defined( BOOST_SP_USE_STD_ATOMIC )
28
- # include <boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp>
29
-
30
- #elif defined( BOOST_SP_USE_SPINLOCK )
31
- # include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
32
-
33
- #elif defined( BOOST_SP_USE_PTHREADS )
34
- # include <boost/smart_ptr/detail/sp_counted_base_pt.hpp>
35
-
36
- #elif defined( BOOST_DISABLE_THREADS ) && !defined( BOOST_SP_ENABLE_THREADS ) && !defined( BOOST_DISABLE_WIN32 )
37
- # include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
38
-
39
- #elif defined( BOOST_SP_HAS_GCC_INTRINSICS )
40
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_atomic.hpp>
41
-
42
- #elif !defined( BOOST_NO_CXX11_HDR_ATOMIC )
43
- # include <boost/smart_ptr/detail/sp_counted_base_std_atomic.hpp>
44
-
45
- #elif defined( __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 )
46
- # include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>
47
-
48
- #elif defined( __GNUC__ ) && ( defined( __i386__ ) || defined( __x86_64__ ) ) && !defined(__PATHSCALE__)
49
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp>
50
-
51
- #elif defined( BOOST_SP_HAS_SYNC_INTRINSICS )
52
- # include <boost/smart_ptr/detail/sp_counted_base_sync.hpp>
53
-
54
- #elif defined( __SNC__ )
55
- # include <boost/smart_ptr/detail/sp_counted_base_snc_ps3.hpp>
56
-
57
- #elif defined(__HP_aCC) && defined(__ia64)
58
- # include <boost/smart_ptr/detail/sp_counted_base_acc_ia64.hpp>
59
-
60
- #elif defined( __GNUC__ ) && defined( __ia64__ ) && !defined( __INTEL_COMPILER ) && !defined(__PATHSCALE__)
61
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_ia64.hpp>
62
-
63
- #elif defined( __IBMCPP__ ) && defined( __powerpc )
64
- # include <boost/smart_ptr/detail/sp_counted_base_vacpp_ppc.hpp>
65
-
66
- #elif defined( __MWERKS__ ) && defined( __POWERPC__ )
67
- # include <boost/smart_ptr/detail/sp_counted_base_cw_ppc.hpp>
68
-
69
- #elif defined( __GNUC__ ) && ( defined( __powerpc__ ) || defined( __ppc__ ) || defined( __ppc ) ) && !defined(__PATHSCALE__) && !defined( _AIX )
70
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_ppc.hpp>
71
-
72
- #elif defined( __GNUC__ ) && ( defined( __mips__ ) || defined( _mips ) ) && !defined(__PATHSCALE__) && !defined( __mips16 )
73
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_mips.hpp>
74
-
75
- #elif defined(__GNUC__) && ( defined( __sparcv9 ) || ( defined( __sparcv8 ) && ( __GNUC__ * 100 + __GNUC_MINOR__ >= 402 ) ) )
76
- # include <boost/smart_ptr/detail/sp_counted_base_gcc_sparc.hpp>
77
-
78
- #elif defined( WIN32 ) || defined( _WIN32 ) || defined( __WIN32__ ) || defined(__CYGWIN__)
79
- # include <boost/smart_ptr/detail/sp_counted_base_w32.hpp>
80
-
81
- #elif defined( _AIX )
82
- # include <boost/smart_ptr/detail/sp_counted_base_aix.hpp>
83
-
84
- #elif !defined( BOOST_HAS_THREADS )
85
- # include <boost/smart_ptr/detail/sp_counted_base_nt.hpp>
86
-
87
- #else
88
- # include <boost/smart_ptr/detail/sp_counted_base_spin.hpp>
89
-
90
- #endif
91
-
92
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_HPP_INCLUDED
@@ -1,163 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
3
-
4
- //
5
- // detail/sp_counted_base_acc_ia64.hpp - aC++ on HP-UX IA64
6
- //
7
- // Copyright 2007 Baruch Zilber
8
- // Copyright 2007 Boris Gubenko
9
- //
10
- // Distributed under the Boost Software License, Version 1.0. (See
11
- // accompanying file LICENSE_1_0.txt or copy at
12
- // http://www.boost.org/LICENSE_1_0.txt)
13
- //
14
- //
15
- // Lock-free algorithm by Alexander Terekhov
16
- //
17
-
18
- #include <boost/smart_ptr/detail/sp_typeinfo_.hpp>
19
- #include <boost/smart_ptr/detail/sp_obsolete.hpp>
20
- #include <boost/config.hpp>
21
- #include <machine/sys/inline.h>
22
-
23
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
24
-
25
- #include <boost/config/pragma_message.hpp>
26
- BOOST_PRAGMA_MESSAGE("Using HP aCC++/HP-UX/IA64 sp_counted_base")
27
-
28
- #endif
29
-
30
- BOOST_SP_OBSOLETE()
31
-
32
- namespace boost
33
- {
34
-
35
- namespace detail
36
- {
37
-
38
- inline void atomic_increment( int * pw )
39
- {
40
- // ++*pw;
41
-
42
- _Asm_fetchadd(_FASZ_W, _SEM_REL, pw, +1, _LDHINT_NONE);
43
- }
44
-
45
- inline int atomic_decrement( int * pw )
46
- {
47
- // return --*pw;
48
-
49
- int r = static_cast<int>(_Asm_fetchadd(_FASZ_W, _SEM_REL, pw, -1, _LDHINT_NONE));
50
- if (1 == r)
51
- {
52
- _Asm_mf();
53
- }
54
-
55
- return r - 1;
56
- }
57
-
58
- inline int atomic_conditional_increment( int * pw )
59
- {
60
- // if( *pw != 0 ) ++*pw;
61
- // return *pw;
62
-
63
- int v = *pw;
64
-
65
- for (;;)
66
- {
67
- if (0 == v)
68
- {
69
- return 0;
70
- }
71
-
72
- _Asm_mov_to_ar(_AREG_CCV,
73
- v,
74
- (_UP_CALL_FENCE | _UP_SYS_FENCE | _DOWN_CALL_FENCE | _DOWN_SYS_FENCE));
75
- int r = static_cast<int>(_Asm_cmpxchg(_SZ_W, _SEM_ACQ, pw, v + 1, _LDHINT_NONE));
76
- if (r == v)
77
- {
78
- return r + 1;
79
- }
80
-
81
- v = r;
82
- }
83
- }
84
-
85
- class BOOST_SYMBOL_VISIBLE sp_counted_base
86
- {
87
- private:
88
-
89
- sp_counted_base( sp_counted_base const & );
90
- sp_counted_base & operator= ( sp_counted_base const & );
91
-
92
- int use_count_; // #shared
93
- int weak_count_; // #weak + (#shared != 0)
94
-
95
- public:
96
-
97
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
98
- {
99
- }
100
-
101
- virtual ~sp_counted_base() // nothrow
102
- {
103
- }
104
-
105
- // dispose() is called when use_count_ drops to zero, to release
106
- // the resources managed by *this.
107
-
108
- virtual void dispose() = 0; // nothrow
109
-
110
- // destroy() is called when weak_count_ drops to zero.
111
-
112
- virtual void destroy() // nothrow
113
- {
114
- delete this;
115
- }
116
-
117
- virtual void * get_deleter( sp_typeinfo_ const & ti ) = 0;
118
- virtual void * get_local_deleter( sp_typeinfo_ const & ti ) = 0;
119
- virtual void * get_untyped_deleter() = 0;
120
-
121
- void add_ref_copy()
122
- {
123
- atomic_increment( &use_count_ );
124
- }
125
-
126
- bool add_ref_lock() // true on success
127
- {
128
- return atomic_conditional_increment( &use_count_ ) != 0;
129
- }
130
-
131
- void release() // nothrow
132
- {
133
- if( atomic_decrement( &use_count_ ) == 0 )
134
- {
135
- dispose();
136
- weak_release();
137
- }
138
- }
139
-
140
- void weak_add_ref() // nothrow
141
- {
142
- atomic_increment( &weak_count_ );
143
- }
144
-
145
- void weak_release() // nothrow
146
- {
147
- if( atomic_decrement( &weak_count_ ) == 0 )
148
- {
149
- destroy();
150
- }
151
- }
152
-
153
- long use_count() const // nothrow
154
- {
155
- return static_cast<int const volatile &>( use_count_ ); // TODO use ld.acq here
156
- }
157
- };
158
-
159
- } // namespace detail
160
-
161
- } // namespace boost
162
-
163
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_ACC_IA64_HPP_INCLUDED
@@ -1,152 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
3
-
4
- //
5
- // detail/sp_counted_base_aix.hpp
6
- // based on: detail/sp_counted_base_w32.hpp
7
- //
8
- // Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
9
- // Copyright 2004-2005 Peter Dimov
10
- // Copyright 2006 Michael van der Westhuizen
11
- //
12
- // Distributed under the Boost Software License, Version 1.0. (See
13
- // accompanying file LICENSE_1_0.txt or copy at
14
- // http://www.boost.org/LICENSE_1_0.txt)
15
- //
16
- //
17
- // Lock-free algorithm by Alexander Terekhov
18
- //
19
- // Thanks to Ben Hitchings for the #weak + (#shared != 0)
20
- // formulation
21
- //
22
-
23
- #include <boost/smart_ptr/detail/sp_typeinfo_.hpp>
24
- #include <boost/config.hpp>
25
- #include <builtins.h>
26
- #include <sys/atomic_op.h>
27
-
28
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
29
-
30
- #include <boost/config/pragma_message.hpp>
31
- BOOST_PRAGMA_MESSAGE("Using AIX sp_counted_base")
32
-
33
- #endif
34
-
35
- namespace boost
36
- {
37
-
38
- namespace detail
39
- {
40
-
41
- inline void atomic_increment( int32_t* pw )
42
- {
43
- // ++*pw;
44
-
45
- fetch_and_add( pw, 1 );
46
- }
47
-
48
- inline int32_t atomic_decrement( int32_t * pw )
49
- {
50
- // return --*pw;
51
-
52
- int32_t originalValue;
53
-
54
- __lwsync();
55
- originalValue = fetch_and_add( pw, -1 );
56
- __isync();
57
-
58
- return (originalValue - 1);
59
- }
60
-
61
- inline int32_t atomic_conditional_increment( int32_t * pw )
62
- {
63
- // if( *pw != 0 ) ++*pw;
64
- // return *pw;
65
-
66
- int32_t tmp = fetch_and_add( pw, 0 );
67
- for( ;; )
68
- {
69
- if( tmp == 0 ) return 0;
70
- if( compare_and_swap( pw, &tmp, tmp + 1 ) ) return (tmp + 1);
71
- }
72
- }
73
-
74
- class BOOST_SYMBOL_VISIBLE sp_counted_base
75
- {
76
- private:
77
-
78
- sp_counted_base( sp_counted_base const & );
79
- sp_counted_base & operator= ( sp_counted_base const & );
80
-
81
- int32_t use_count_; // #shared
82
- int32_t weak_count_; // #weak + (#shared != 0)
83
-
84
- public:
85
-
86
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
87
- {
88
- }
89
-
90
- virtual ~sp_counted_base() // nothrow
91
- {
92
- }
93
-
94
- // dispose() is called when use_count_ drops to zero, to release
95
- // the resources managed by *this.
96
-
97
- virtual void dispose() = 0; // nothrow
98
-
99
- // destroy() is called when weak_count_ drops to zero.
100
-
101
- virtual void destroy() // nothrow
102
- {
103
- delete this;
104
- }
105
-
106
- virtual void * get_deleter( sp_typeinfo_ const & ti ) = 0;
107
- virtual void * get_local_deleter( sp_typeinfo_ const & ti ) = 0;
108
- virtual void * get_untyped_deleter() = 0;
109
-
110
- void add_ref_copy()
111
- {
112
- atomic_increment( &use_count_ );
113
- }
114
-
115
- bool add_ref_lock() // true on success
116
- {
117
- return atomic_conditional_increment( &use_count_ ) != 0;
118
- }
119
-
120
- void release() // nothrow
121
- {
122
- if( atomic_decrement( &use_count_ ) == 0 )
123
- {
124
- dispose();
125
- weak_release();
126
- }
127
- }
128
-
129
- void weak_add_ref() // nothrow
130
- {
131
- atomic_increment( &weak_count_ );
132
- }
133
-
134
- void weak_release() // nothrow
135
- {
136
- if( atomic_decrement( &weak_count_ ) == 0 )
137
- {
138
- destroy();
139
- }
140
- }
141
-
142
- long use_count() const // nothrow
143
- {
144
- return fetch_and_add( const_cast<int32_t*>(&use_count_), 0 );
145
- }
146
- };
147
-
148
- } // namespace detail
149
-
150
- } // namespace boost
151
-
152
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_AIX_HPP_INCLUDED
@@ -1,185 +0,0 @@
1
- #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
2
- #define BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED
3
-
4
- // MS compatible compilers support #pragma once
5
-
6
- #if defined(_MSC_VER) && (_MSC_VER >= 1020)
7
- # pragma once
8
- #endif
9
-
10
- //
11
- // detail/sp_counted_base_cw_ppc.hpp - CodeWarrior on PowerPC
12
- //
13
- // Copyright (c) 2001, 2002, 2003 Peter Dimov and Multi Media Ltd.
14
- // Copyright 2004-2005 Peter Dimov
15
- //
16
- // Distributed under the Boost Software License, Version 1.0. (See
17
- // accompanying file LICENSE_1_0.txt or copy at
18
- // http://www.boost.org/LICENSE_1_0.txt)
19
- //
20
- //
21
- // Lock-free algorithm by Alexander Terekhov
22
- //
23
- // Thanks to Ben Hitchings for the #weak + (#shared != 0)
24
- // formulation
25
- //
26
-
27
- #include <boost/smart_ptr/detail/sp_typeinfo_.hpp>
28
- #include <boost/smart_ptr/detail/sp_obsolete.hpp>
29
- #include <boost/config.hpp>
30
-
31
- #if defined(BOOST_SP_REPORT_IMPLEMENTATION)
32
-
33
- #include <boost/config/pragma_message.hpp>
34
- BOOST_PRAGMA_MESSAGE("Using CodeWarrior/PowerPC sp_counted_base")
35
-
36
- #endif
37
-
38
- namespace boost
39
- {
40
-
41
- namespace detail
42
- {
43
-
44
- inline void atomic_increment( register long * pw )
45
- {
46
- register int a;
47
-
48
- asm
49
- {
50
- loop:
51
-
52
- lwarx a, 0, pw
53
- addi a, a, 1
54
- stwcx. a, 0, pw
55
- bne- loop
56
- }
57
- }
58
-
59
- inline long atomic_decrement( register long * pw )
60
- {
61
- register int a;
62
-
63
- asm
64
- {
65
- #if defined(__PPCZen__) || defined(__PPCe500__) || defined(__PPCe500v2__)
66
- msync
67
- #else
68
- sync
69
- #endif
70
-
71
- loop:
72
-
73
- lwarx a, 0, pw
74
- addi a, a, -1
75
- stwcx. a, 0, pw
76
- bne- loop
77
-
78
- isync
79
- }
80
-
81
- return a;
82
- }
83
-
84
- inline long atomic_conditional_increment( register long * pw )
85
- {
86
- register int a;
87
-
88
- asm
89
- {
90
- loop:
91
-
92
- lwarx a, 0, pw
93
- cmpwi a, 0
94
- beq store
95
-
96
- addi a, a, 1
97
-
98
- store:
99
-
100
- stwcx. a, 0, pw
101
- bne- loop
102
- }
103
-
104
- return a;
105
- }
106
-
107
- class BOOST_SYMBOL_VISIBLE sp_counted_base
108
- {
109
- private:
110
-
111
- sp_counted_base( sp_counted_base const & );
112
- sp_counted_base & operator= ( sp_counted_base const & );
113
-
114
- long use_count_; // #shared
115
- long weak_count_; // #weak + (#shared != 0)
116
-
117
- public:
118
-
119
- sp_counted_base(): use_count_( 1 ), weak_count_( 1 )
120
- {
121
- }
122
-
123
- virtual ~sp_counted_base() // nothrow
124
- {
125
- }
126
-
127
- // dispose() is called when use_count_ drops to zero, to release
128
- // the resources managed by *this.
129
-
130
- virtual void dispose() = 0; // nothrow
131
-
132
- // destroy() is called when weak_count_ drops to zero.
133
-
134
- virtual void destroy() // nothrow
135
- {
136
- delete this;
137
- }
138
-
139
- virtual void * get_deleter( sp_typeinfo_ const & ti ) = 0;
140
- virtual void * get_local_deleter( sp_typeinfo_ const & ti ) = 0;
141
- virtual void * get_untyped_deleter() = 0;
142
-
143
- void add_ref_copy()
144
- {
145
- atomic_increment( &use_count_ );
146
- }
147
-
148
- bool add_ref_lock() // true on success
149
- {
150
- return atomic_conditional_increment( &use_count_ ) != 0;
151
- }
152
-
153
- void release() // nothrow
154
- {
155
- if( atomic_decrement( &use_count_ ) == 0 )
156
- {
157
- dispose();
158
- weak_release();
159
- }
160
- }
161
-
162
- void weak_add_ref() // nothrow
163
- {
164
- atomic_increment( &weak_count_ );
165
- }
166
-
167
- void weak_release() // nothrow
168
- {
169
- if( atomic_decrement( &weak_count_ ) == 0 )
170
- {
171
- destroy();
172
- }
173
- }
174
-
175
- long use_count() const // nothrow
176
- {
177
- return static_cast<long const volatile &>( use_count_ );
178
- }
179
- };
180
-
181
- } // namespace detail
182
-
183
- } // namespace boost
184
-
185
- #endif // #ifndef BOOST_SMART_PTR_DETAIL_SP_COUNTED_BASE_CW_PPC_HPP_INCLUDED