react-native-windows 0.81.34 → 0.81.35

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 (882) hide show
  1. package/Directory.Build.props +1 -16
  2. package/Folly/ThreadNameStub.cpp +4 -6
  3. package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +1 -1
  4. package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +27 -4
  5. package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +8 -4
  6. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +7 -3
  7. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -7
  8. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -3
  9. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  10. package/PropertySheets/React.Cpp.props +3 -3
  11. package/ReactCommon/ReactCommon.vcxproj +0 -10
  12. package/ReactCommon/packages.lock.win32.json +0 -10
  13. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -37
  14. package/Shared/Shared.vcxitems +2 -0
  15. package/{Folly → external}/.clang-format +0 -1
  16. package/external/External.vcxitems +10 -0
  17. package/external/fast-float/.syncignore +11 -0
  18. package/external/fast-float/LICENSE-APACHE +190 -0
  19. package/external/fast-float/LICENSE-BOOST +23 -0
  20. package/external/fast-float/LICENSE-MIT +27 -0
  21. package/external/fast-float/cgmanifest.json +15 -0
  22. package/external/fast-float/fast-float.vcxitems +14 -0
  23. package/external/fast-float/include/fast_float/ascii_number.h +588 -0
  24. package/external/fast-float/include/fast_float/bigint.h +638 -0
  25. package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
  26. package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
  27. package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
  28. package/external/fast-float/include/fast_float/fast_float.h +59 -0
  29. package/external/fast-float/include/fast_float/fast_table.h +708 -0
  30. package/external/fast-float/include/fast_float/float_common.h +1240 -0
  31. package/external/fast-float/include/fast_float/parse_number.h +399 -0
  32. package/external/fast-float/sync-config.json +8 -0
  33. package/external/fmt/.syncignore +12 -0
  34. package/external/fmt/CONTRIBUTING.md +20 -0
  35. package/external/fmt/LICENSE +27 -0
  36. package/{fmt → external/fmt}/cgmanifest.json +1 -1
  37. package/external/fmt/fmt.vcxitems +28 -0
  38. package/external/fmt/include/fmt/args.h +228 -0
  39. package/{fmt/TEMP_UntilFmtUpdate/core.h → external/fmt/include/fmt/base.h} +1188 -1036
  40. package/external/fmt/include/fmt/chrono.h +2432 -0
  41. package/external/fmt/include/fmt/color.h +612 -0
  42. package/external/fmt/include/fmt/compile.h +529 -0
  43. package/external/fmt/include/fmt/core.h +5 -0
  44. package/external/fmt/include/fmt/format-inl.h +1928 -0
  45. package/external/fmt/include/fmt/format.h +4427 -0
  46. package/external/fmt/include/fmt/os.h +439 -0
  47. package/external/fmt/include/fmt/ostream.h +211 -0
  48. package/external/fmt/include/fmt/printf.h +656 -0
  49. package/external/fmt/include/fmt/ranges.h +882 -0
  50. package/external/fmt/include/fmt/std.h +699 -0
  51. package/external/fmt/include/fmt/xchar.h +322 -0
  52. package/external/fmt/src/fmt.cc +135 -0
  53. package/external/fmt/src/format.cc +43 -0
  54. package/external/fmt/src/os.cc +403 -0
  55. package/external/fmt/sync-config.json +8 -0
  56. package/external/folly/.syncignore +61 -0
  57. package/external/folly/LICENSE +200 -0
  58. package/{fmt → external/folly/folly}/.clang-format +0 -1
  59. package/external/folly/folly/AtomicHashArray-inl.h +546 -0
  60. package/external/folly/folly/AtomicHashArray.h +431 -0
  61. package/external/folly/folly/AtomicHashMap-inl.h +653 -0
  62. package/external/folly/folly/AtomicHashMap.h +484 -0
  63. package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
  64. package/external/folly/folly/AtomicLinkedList.h +110 -0
  65. package/external/folly/folly/AtomicUnorderedMap.h +522 -0
  66. package/external/folly/folly/BUCK +1631 -0
  67. package/external/folly/folly/BUILD_MODE.bzl +72 -0
  68. package/external/folly/folly/Benchmark.cpp +986 -0
  69. package/external/folly/folly/Benchmark.h +680 -0
  70. package/external/folly/folly/BenchmarkUtil.h +47 -0
  71. package/external/folly/folly/Bits.h +17 -0
  72. package/external/folly/folly/CMakeLists.txt +110 -0
  73. package/external/folly/folly/CPortability.h +338 -0
  74. package/external/folly/folly/CancellationToken-inl.h +449 -0
  75. package/external/folly/folly/CancellationToken.cpp +250 -0
  76. package/external/folly/folly/CancellationToken.h +365 -0
  77. package/external/folly/folly/Chrono.h +132 -0
  78. package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
  79. package/external/folly/folly/ClockGettimeWrappers.h +29 -0
  80. package/external/folly/folly/ConcurrentBitSet.h +157 -0
  81. package/external/folly/folly/ConcurrentLazy.h +74 -0
  82. package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
  83. package/external/folly/folly/ConcurrentSkipList.h +824 -0
  84. package/external/folly/folly/ConstructorCallbackList.h +158 -0
  85. package/external/folly/folly/Conv.h +2026 -0
  86. package/external/folly/folly/CppAttributes.h +170 -0
  87. package/external/folly/folly/CpuId.h +297 -0
  88. package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
  89. package/external/folly/folly/Demangle.cpp +255 -0
  90. package/external/folly/folly/Demangle.h +73 -0
  91. package/external/folly/folly/DiscriminatedPtr.h +236 -0
  92. package/external/folly/folly/DynamicConverter.h +17 -0
  93. package/external/folly/folly/Exception.h +150 -0
  94. package/external/folly/folly/ExceptionString.cpp +51 -0
  95. package/external/folly/folly/ExceptionString.h +33 -0
  96. package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
  97. package/external/folly/folly/ExceptionWrapper.cpp +37 -0
  98. package/external/folly/folly/ExceptionWrapper.h +377 -0
  99. package/external/folly/folly/Executor.cpp +111 -0
  100. package/external/folly/folly/Executor.h +351 -0
  101. package/external/folly/folly/Expected.h +1725 -0
  102. package/external/folly/folly/FBString.h +2888 -0
  103. package/external/folly/folly/FBVector.h +17 -0
  104. package/external/folly/folly/File.cpp +180 -0
  105. package/external/folly/folly/File.h +177 -0
  106. package/external/folly/folly/FileUtil.cpp +378 -0
  107. package/external/folly/folly/FileUtil.h +332 -0
  108. package/external/folly/folly/Fingerprint.cpp +135 -0
  109. package/external/folly/folly/Fingerprint.h +289 -0
  110. package/external/folly/folly/FixedString.h +2965 -0
  111. package/external/folly/folly/FollyMemcpy.cpp +30 -0
  112. package/external/folly/folly/FollyMemcpy.h +23 -0
  113. package/external/folly/folly/FollyMemset.cpp +29 -0
  114. package/external/folly/folly/FollyMemset.h +25 -0
  115. package/external/folly/folly/Format-inl.h +1152 -0
  116. package/external/folly/folly/Format.cpp +429 -0
  117. package/external/folly/folly/Format.h +463 -0
  118. package/external/folly/folly/FormatArg.h +285 -0
  119. package/external/folly/folly/FormatTraits.h +65 -0
  120. package/external/folly/folly/Function.h +1159 -0
  121. package/external/folly/folly/GLog.h +85 -0
  122. package/external/folly/folly/GroupVarint.cpp +153 -0
  123. package/external/folly/folly/GroupVarint.h +630 -0
  124. package/external/folly/folly/Hash.h +20 -0
  125. package/external/folly/folly/IPAddress.cpp +490 -0
  126. package/external/folly/folly/IPAddress.h +667 -0
  127. package/external/folly/folly/IPAddressException.h +82 -0
  128. package/external/folly/folly/IPAddressV4.cpp +305 -0
  129. package/external/folly/folly/IPAddressV4.h +495 -0
  130. package/external/folly/folly/IPAddressV6.cpp +541 -0
  131. package/external/folly/folly/IPAddressV6.h +627 -0
  132. package/external/folly/folly/Indestructible.h +164 -0
  133. package/external/folly/folly/IndexedMemPool.h +550 -0
  134. package/external/folly/folly/IntrusiveList.h +17 -0
  135. package/external/folly/folly/Lazy.h +142 -0
  136. package/external/folly/folly/Likely.h +76 -0
  137. package/external/folly/folly/MPMCPipeline.h +280 -0
  138. package/external/folly/folly/MPMCQueue.h +1556 -0
  139. package/external/folly/folly/MacAddress.cpp +188 -0
  140. package/external/folly/folly/MacAddress.h +260 -0
  141. package/external/folly/folly/MapUtil.h +17 -0
  142. package/external/folly/folly/Math.h +258 -0
  143. package/external/folly/folly/MaybeManagedPtr.h +120 -0
  144. package/external/folly/folly/Memory.h +900 -0
  145. package/external/folly/folly/MicroLock.cpp +76 -0
  146. package/external/folly/folly/MicroLock.h +354 -0
  147. package/external/folly/folly/MicroSpinLock.h +17 -0
  148. package/external/folly/folly/MoveWrapper.h +76 -0
  149. package/external/folly/folly/ObserverContainer.h +1026 -0
  150. package/external/folly/folly/Optional.h +743 -0
  151. package/external/folly/folly/Overload.h +325 -0
  152. package/external/folly/folly/PackedSyncPtr.h +147 -0
  153. package/external/folly/folly/Padded.h +464 -0
  154. package/external/folly/folly/Poly-inl.h +230 -0
  155. package/external/folly/folly/Poly.h +1095 -0
  156. package/external/folly/folly/PolyException.h +43 -0
  157. package/external/folly/folly/Portability.h +644 -0
  158. package/external/folly/folly/Preprocessor.h +236 -0
  159. package/external/folly/folly/ProducerConsumerQueue.h +182 -0
  160. package/external/folly/folly/RWSpinLock.h +17 -0
  161. package/external/folly/folly/Random-inl.h +86 -0
  162. package/external/folly/folly/Random.cpp +184 -0
  163. package/external/folly/folly/Random.h +434 -0
  164. package/external/folly/folly/Range.h +1772 -0
  165. package/external/folly/folly/Replaceable.h +636 -0
  166. package/external/folly/folly/ScopeGuard.cpp +29 -0
  167. package/external/folly/folly/ScopeGuard.h +420 -0
  168. package/external/folly/folly/SharedMutex.cpp +81 -0
  169. package/external/folly/folly/SharedMutex.h +1751 -0
  170. package/external/folly/folly/Singleton-inl.h +332 -0
  171. package/external/folly/folly/Singleton.cpp +512 -0
  172. package/external/folly/folly/Singleton.h +891 -0
  173. package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
  174. package/external/folly/folly/SingletonThreadLocal.h +263 -0
  175. package/external/folly/folly/SocketAddress.cpp +786 -0
  176. package/external/folly/folly/SocketAddress.h +768 -0
  177. package/external/folly/folly/SpinLock.h +55 -0
  178. package/external/folly/folly/String-inl.h +668 -0
  179. package/external/folly/folly/String.cpp +777 -0
  180. package/external/folly/folly/String.h +767 -0
  181. package/external/folly/folly/Subprocess.cpp +1142 -0
  182. package/external/folly/folly/Subprocess.h +1055 -0
  183. package/external/folly/folly/Synchronized.h +1833 -0
  184. package/external/folly/folly/SynchronizedPtr.h +106 -0
  185. package/external/folly/folly/ThreadCachedInt.h +175 -0
  186. package/external/folly/folly/ThreadLocal.h +478 -0
  187. package/external/folly/folly/TimeoutQueue.cpp +78 -0
  188. package/external/folly/folly/TimeoutQueue.h +123 -0
  189. package/external/folly/folly/TokenBucket.h +673 -0
  190. package/external/folly/folly/Traits.h +1442 -0
  191. package/external/folly/folly/Try-inl.h +372 -0
  192. package/external/folly/folly/Try.cpp +23 -0
  193. package/external/folly/folly/Try.h +728 -0
  194. package/external/folly/folly/UTF8String.h +56 -0
  195. package/external/folly/folly/Unicode.cpp +201 -0
  196. package/external/folly/folly/Unicode.h +94 -0
  197. package/external/folly/folly/Unit.h +65 -0
  198. package/external/folly/folly/Uri-inl.h +101 -0
  199. package/external/folly/folly/Uri.cpp +190 -0
  200. package/external/folly/folly/Uri.h +142 -0
  201. package/external/folly/folly/Utility.h +932 -0
  202. package/external/folly/folly/VERSION +1 -0
  203. package/external/folly/folly/Varint.h +230 -0
  204. package/external/folly/folly/VirtualExecutor.h +17 -0
  205. package/external/folly/folly/algorithm/simd/BUCK +47 -0
  206. package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
  207. package/external/folly/folly/algorithm/simd/Contains.h +116 -0
  208. package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
  209. package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
  210. package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
  211. package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
  212. package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
  213. package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
  214. package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
  215. package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
  216. package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
  217. package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
  218. package/external/folly/folly/base64.h +264 -0
  219. package/external/folly/folly/chrono/BUCK +29 -0
  220. package/external/folly/folly/chrono/Clock.h +65 -0
  221. package/external/folly/folly/chrono/Conv.h +712 -0
  222. package/external/folly/folly/chrono/test/BUCK +26 -0
  223. package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
  224. package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
  225. package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
  226. package/external/folly/folly/concurrency/BUCK +170 -0
  227. package/external/folly/folly/concurrency/CacheLocality.h +460 -0
  228. package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
  229. package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
  230. package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
  231. package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
  232. package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
  233. package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
  234. package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
  235. package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
  236. package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
  237. package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
  238. package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
  239. package/external/folly/folly/concurrency/container/BUCK +77 -0
  240. package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
  241. package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
  242. package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
  243. package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
  244. package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
  245. package/external/folly/folly/concurrency/container/test/BUCK +75 -0
  246. package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
  247. package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
  248. package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
  249. package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
  250. package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
  251. package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
  252. package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
  253. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
  254. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
  255. package/external/folly/folly/concurrency/memory/BUCK +53 -0
  256. package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
  257. package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
  258. package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
  259. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
  260. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
  261. package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
  262. package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
  263. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
  264. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
  265. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
  266. package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
  267. package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
  268. package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
  269. package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
  270. package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
  271. package/external/folly/folly/concurrency/test/BUCK +229 -0
  272. package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
  273. package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
  274. package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
  275. package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
  276. package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
  277. package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
  278. package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
  279. package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
  280. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
  281. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
  282. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
  283. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
  284. package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
  285. package/external/folly/folly/container/Access.h +57 -0
  286. package/external/folly/folly/container/Array.h +87 -0
  287. package/external/folly/folly/container/BUCK +353 -0
  288. package/external/folly/folly/container/BitIterator.h +203 -0
  289. package/external/folly/folly/container/Enumerate.h +162 -0
  290. package/external/folly/folly/container/EvictingCacheMap.h +730 -0
  291. package/external/folly/folly/container/F14.md +300 -0
  292. package/external/folly/folly/container/F14Map-fwd.h +113 -0
  293. package/external/folly/folly/container/F14Map.h +2108 -0
  294. package/external/folly/folly/container/F14Set-fwd.h +95 -0
  295. package/external/folly/folly/container/F14Set.h +1603 -0
  296. package/external/folly/folly/container/FBVector.h +1711 -0
  297. package/external/folly/folly/container/Foreach-inl.h +316 -0
  298. package/external/folly/folly/container/Foreach.h +209 -0
  299. package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
  300. package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
  301. package/external/folly/folly/container/IntrusiveHeap.h +268 -0
  302. package/external/folly/folly/container/IntrusiveList.h +131 -0
  303. package/external/folly/folly/container/Iterator.h +843 -0
  304. package/external/folly/folly/container/MapUtil.h +376 -0
  305. package/external/folly/folly/container/Merge.h +90 -0
  306. package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
  307. package/external/folly/folly/container/RegexMatchCache.h +699 -0
  308. package/external/folly/folly/container/Reserve.h +109 -0
  309. package/external/folly/folly/container/SparseByteSet.h +123 -0
  310. package/external/folly/folly/container/View.h +81 -0
  311. package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
  312. package/external/folly/folly/container/detail/BUCK +115 -0
  313. package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
  314. package/external/folly/folly/container/detail/F14Defaults.h +34 -0
  315. package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
  316. package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
  317. package/external/folly/folly/container/detail/F14Mask.h +235 -0
  318. package/external/folly/folly/container/detail/F14Policy.h +1523 -0
  319. package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
  320. package/external/folly/folly/container/detail/F14Table.cpp +71 -0
  321. package/external/folly/folly/container/detail/F14Table.h +2680 -0
  322. package/external/folly/folly/container/detail/Util.h +303 -0
  323. package/external/folly/folly/container/detail/tape_detail.h +135 -0
  324. package/external/folly/folly/container/detail/test/BUCK +14 -0
  325. package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
  326. package/external/folly/folly/container/heap_vector_types.h +1683 -0
  327. package/external/folly/folly/container/range_traits.h +81 -0
  328. package/external/folly/folly/container/small_vector.h +1476 -0
  329. package/external/folly/folly/container/sorted_vector_types.h +1652 -0
  330. package/external/folly/folly/container/span.h +408 -0
  331. package/external/folly/folly/container/tape.h +608 -0
  332. package/external/folly/folly/container/test/.clang-tidy +12 -0
  333. package/external/folly/folly/container/test/AccessTest.cpp +138 -0
  334. package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
  335. package/external/folly/folly/container/test/BUCK +568 -0
  336. package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
  337. package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
  338. package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
  339. package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
  340. package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
  341. package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
  342. package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
  343. package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
  344. package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
  345. package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
  346. package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
  347. package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
  348. package/external/folly/folly/container/test/F14TestUtil.h +117 -0
  349. package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
  350. package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
  351. package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
  352. package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
  353. package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
  354. package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
  355. package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
  356. package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
  357. package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
  358. package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
  359. package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
  360. package/external/folly/folly/container/test/MergeTest.cpp +66 -0
  361. package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
  362. package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
  363. package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
  364. package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
  365. package/external/folly/folly/container/test/TrackingTypes.h +584 -0
  366. package/external/folly/folly/container/test/UtilTest.cpp +609 -0
  367. package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
  368. package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
  369. package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
  370. package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
  371. package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
  372. package/external/folly/folly/container/test/span_test.cpp +520 -0
  373. package/external/folly/folly/container/test/tape_bench.cpp +200 -0
  374. package/external/folly/folly/container/test/tape_test.cpp +590 -0
  375. package/external/folly/folly/defs.bzl +238 -0
  376. package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
  377. package/external/folly/folly/detail/AsyncTrace.h +44 -0
  378. package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
  379. package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
  380. package/external/folly/folly/detail/BUCK +406 -0
  381. package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
  382. package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
  383. package/external/folly/folly/detail/FileUtilDetail.h +85 -0
  384. package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
  385. package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
  386. package/external/folly/folly/detail/Futex-inl.h +123 -0
  387. package/external/folly/folly/detail/Futex.cpp +273 -0
  388. package/external/folly/folly/detail/Futex.h +109 -0
  389. package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
  390. package/external/folly/folly/detail/IPAddress.cpp +37 -0
  391. package/external/folly/folly/detail/IPAddress.h +57 -0
  392. package/external/folly/folly/detail/IPAddressSource.h +278 -0
  393. package/external/folly/folly/detail/Iterators.h +156 -0
  394. package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
  395. package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
  396. package/external/folly/folly/detail/MemoryIdler.h +216 -0
  397. package/external/folly/folly/detail/PerfScoped.cpp +112 -0
  398. package/external/folly/folly/detail/PerfScoped.h +70 -0
  399. package/external/folly/folly/detail/PolyDetail.h +921 -0
  400. package/external/folly/folly/detail/RangeCommon.cpp +55 -0
  401. package/external/folly/folly/detail/RangeCommon.h +93 -0
  402. package/external/folly/folly/detail/RangeSse42.cpp +198 -0
  403. package/external/folly/folly/detail/RangeSse42.h +30 -0
  404. package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
  405. package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
  406. package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
  407. package/external/folly/folly/detail/Singleton.h +34 -0
  408. package/external/folly/folly/detail/SlowFingerprint.h +90 -0
  409. package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
  410. package/external/folly/folly/detail/SocketFastOpen.h +89 -0
  411. package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
  412. package/external/folly/folly/detail/SplitStringSimd.h +151 -0
  413. package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
  414. package/external/folly/folly/detail/Sse.cpp +35 -0
  415. package/external/folly/folly/detail/Sse.h +45 -0
  416. package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
  417. package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
  418. package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
  419. package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
  420. package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
  421. package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
  422. package/external/folly/folly/detail/TurnSequencer.h +295 -0
  423. package/external/folly/folly/detail/TypeList.h +551 -0
  424. package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
  425. package/external/folly/folly/detail/UniqueInstance.h +68 -0
  426. package/external/folly/folly/detail/base64_detail/BUCK +102 -0
  427. package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
  428. package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
  429. package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
  430. package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
  431. package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
  432. package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
  433. package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
  434. package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
  435. package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
  436. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
  437. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
  438. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
  439. package/external/folly/folly/detail/base64_detail/README.md +392 -0
  440. package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
  441. package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
  442. package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
  443. package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
  444. package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
  445. package/external/folly/folly/detail/test/BUCK +118 -0
  446. package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
  447. package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
  448. package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
  449. package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
  450. package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
  451. package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
  452. package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
  453. package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
  454. package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
  455. package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
  456. package/external/folly/folly/detail/thread_local_globals.h +36 -0
  457. package/external/folly/folly/dynamic-inl.h +17 -0
  458. package/external/folly/folly/dynamic.h +17 -0
  459. package/external/folly/folly/folly_extended_library.bzl +28 -0
  460. package/external/folly/folly/functional/ApplyTuple.h +204 -0
  461. package/external/folly/folly/functional/BUCK +57 -0
  462. package/external/folly/folly/functional/Invoke.h +880 -0
  463. package/external/folly/folly/functional/Partial.h +130 -0
  464. package/external/folly/folly/functional/protocol.h +203 -0
  465. package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
  466. package/external/folly/folly/functional/test/BUCK +57 -0
  467. package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
  468. package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
  469. package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
  470. package/external/folly/folly/functional/test/traits_test.cpp +551 -0
  471. package/external/folly/folly/functional/traits.h +675 -0
  472. package/external/folly/folly/hash/BUCK +86 -0
  473. package/external/folly/folly/hash/Checksum.cpp +275 -0
  474. package/external/folly/folly/hash/Checksum.h +94 -0
  475. package/external/folly/folly/hash/FarmHash.h +46 -0
  476. package/external/folly/folly/hash/Hash.h +1045 -0
  477. package/external/folly/folly/hash/MurmurHash.h +86 -0
  478. package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
  479. package/external/folly/folly/hash/SpookyHashV1.h +307 -0
  480. package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
  481. package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/hash/SpookyHashV2.h +6 -1
  482. package/external/folly/folly/hash/detail/BUCK +26 -0
  483. package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
  484. package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
  485. package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
  486. package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
  487. package/external/folly/folly/hash/test/BUCK +132 -0
  488. package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
  489. package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
  490. package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
  491. package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
  492. package/external/folly/folly/hash/test/HashTest.cpp +997 -0
  493. package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
  494. package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
  495. package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
  496. package/external/folly/folly/hash/test/traits_test.cpp +69 -0
  497. package/external/folly/folly/hash/traits.h +115 -0
  498. package/external/folly/folly/json/BUCK +155 -0
  499. package/external/folly/folly/json/DynamicConverter.h +464 -0
  500. package/external/folly/folly/json/DynamicParser-inl.h +316 -0
  501. package/external/folly/folly/json/DynamicParser.cpp +198 -0
  502. package/external/folly/folly/json/DynamicParser.h +394 -0
  503. package/external/folly/folly/json/JSONSchema.cpp +1030 -0
  504. package/external/folly/folly/json/JSONSchema.h +73 -0
  505. package/external/folly/folly/json/JsonMockUtil.h +73 -0
  506. package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
  507. package/external/folly/folly/json/JsonTestUtil.h +88 -0
  508. package/external/folly/folly/json/bser/BUCK +24 -0
  509. package/external/folly/folly/json/bser/Bser.h +107 -0
  510. package/external/folly/folly/json/bser/Dump.cpp +253 -0
  511. package/external/folly/folly/json/bser/Load.cpp +246 -0
  512. package/external/folly/folly/json/bser/test/BUCK +14 -0
  513. package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
  514. package/external/folly/folly/json/dynamic.cpp +552 -0
  515. package/external/folly/folly/json/dynamic.h +1346 -0
  516. package/external/folly/folly/json/json.h +238 -0
  517. package/external/folly/folly/json/json_patch.cpp +325 -0
  518. package/external/folly/folly/json/json_patch.h +126 -0
  519. package/external/folly/folly/json/json_pointer.cpp +114 -0
  520. package/external/folly/folly/json/json_pointer.h +87 -0
  521. package/external/folly/folly/json/test/BUCK +147 -0
  522. package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
  523. package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
  524. package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
  525. package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
  526. package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
  527. package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
  528. package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
  529. package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
  530. package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
  531. package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
  532. package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
  533. package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
  534. package/external/folly/folly/json/tool/BUCK +13 -0
  535. package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
  536. package/external/folly/folly/json.h +17 -0
  537. package/external/folly/folly/json_patch.h +17 -0
  538. package/external/folly/folly/json_pointer.h +17 -0
  539. package/external/folly/folly/lang/Access.h +29 -0
  540. package/external/folly/folly/lang/Align.h +240 -0
  541. package/external/folly/folly/lang/Aligned.h +92 -0
  542. package/external/folly/folly/lang/Assume.h +82 -0
  543. package/external/folly/folly/lang/BUCK +287 -0
  544. package/external/folly/folly/lang/Badge.h +108 -0
  545. package/external/folly/folly/lang/Bits.h +570 -0
  546. package/external/folly/folly/lang/BitsClass.h +312 -0
  547. package/external/folly/folly/lang/Builtin.h +74 -0
  548. package/external/folly/folly/lang/CArray.h +34 -0
  549. package/external/folly/folly/lang/CString.cpp +86 -0
  550. package/external/folly/folly/lang/CString.h +55 -0
  551. package/external/folly/folly/lang/Cast.h +51 -0
  552. package/external/folly/folly/lang/CheckedMath.h +253 -0
  553. package/external/folly/folly/lang/CustomizationPoint.h +58 -0
  554. package/external/folly/folly/lang/Exception.cpp +822 -0
  555. package/external/folly/folly/lang/Exception.h +716 -0
  556. package/external/folly/folly/lang/Extern.h +55 -0
  557. package/external/folly/folly/lang/Hint-inl.h +144 -0
  558. package/external/folly/folly/lang/Hint.h +238 -0
  559. package/external/folly/folly/lang/Keep.h +98 -0
  560. package/external/folly/folly/lang/New.h +124 -0
  561. package/external/folly/folly/lang/Ordering.h +140 -0
  562. package/external/folly/folly/lang/Pretty.h +159 -0
  563. package/external/folly/folly/lang/PropagateConst.h +413 -0
  564. package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
  565. package/external/folly/folly/lang/SafeAssert.cpp +589 -0
  566. package/external/folly/folly/lang/StaticConst.h +33 -0
  567. package/external/folly/folly/lang/Thunk.h +100 -0
  568. package/external/folly/folly/lang/TypeInfo.h +58 -0
  569. package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
  570. package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
  571. package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
  572. package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
  573. package/external/folly/folly/lang/test/BUCK +258 -0
  574. package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
  575. package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
  576. package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
  577. package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
  578. package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
  579. package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
  580. package/external/folly/folly/lang/test/CastTest.cpp +47 -0
  581. package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
  582. package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
  583. package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
  584. package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
  585. package/external/folly/folly/lang/test/HintTest.cpp +100 -0
  586. package/external/folly/folly/lang/test/NewTest.cpp +38 -0
  587. package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
  588. package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
  589. package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
  590. package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
  591. package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
  592. package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
  593. package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
  594. package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
  595. package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
  596. package/external/folly/folly/memcpy.S +292 -0
  597. package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
  598. package/external/folly/folly/memory/Arena-inl.h +83 -0
  599. package/external/folly/folly/memory/Arena.h +325 -0
  600. package/external/folly/folly/memory/BUCK +191 -0
  601. package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
  602. package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
  603. package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
  604. package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
  605. package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
  606. package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
  607. package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
  608. package/external/folly/folly/memory/MallctlHelper.h +167 -0
  609. package/external/folly/folly/memory/Malloc.h +551 -0
  610. package/external/folly/folly/memory/MemoryResource.h +57 -0
  611. package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
  612. package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
  613. package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
  614. package/external/folly/folly/memory/SanitizeAddress.h +117 -0
  615. package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
  616. package/external/folly/folly/memory/SanitizeLeak.h +108 -0
  617. package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
  618. package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
  619. package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
  620. package/external/folly/folly/memory/detail/BUCK +10 -0
  621. package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
  622. package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
  623. package/external/folly/folly/memory/not_null-inl.h +522 -0
  624. package/external/folly/folly/memory/not_null.h +449 -0
  625. package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
  626. package/external/folly/folly/memory/test/BUCK +146 -0
  627. package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
  628. package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
  629. package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
  630. package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
  631. package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
  632. package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
  633. package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
  634. package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
  635. package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
  636. package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
  637. package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
  638. package/external/folly/folly/memset.S +245 -0
  639. package/external/folly/folly/memset_select_aarch64.cpp +72 -0
  640. package/external/folly/folly/portability/Asm.h +50 -0
  641. package/external/folly/folly/portability/Atomic.h +31 -0
  642. package/external/folly/folly/portability/BUCK +456 -0
  643. package/external/folly/folly/portability/Builtins.cpp +31 -0
  644. package/external/folly/folly/portability/Builtins.h +161 -0
  645. package/external/folly/folly/portability/Config.h +43 -0
  646. package/external/folly/folly/portability/Constexpr.h +145 -0
  647. package/external/folly/folly/portability/Dirent.cpp +140 -0
  648. package/external/folly/folly/portability/Dirent.h +41 -0
  649. package/external/folly/folly/portability/Event.h +44 -0
  650. package/external/folly/folly/portability/Fcntl.cpp +120 -0
  651. package/external/folly/folly/portability/Fcntl.h +67 -0
  652. package/external/folly/folly/portability/Filesystem.cpp +67 -0
  653. package/external/folly/folly/portability/Filesystem.h +114 -0
  654. package/external/folly/folly/portability/FmtCompile.h +40 -0
  655. package/external/folly/folly/portability/GFlags.h +139 -0
  656. package/external/folly/folly/portability/GMock.h +35 -0
  657. package/external/folly/folly/portability/GTest.h +35 -0
  658. package/external/folly/folly/portability/IOVec.h +34 -0
  659. package/external/folly/folly/portability/Libgen.cpp +59 -0
  660. package/external/folly/folly/portability/Libgen.h +29 -0
  661. package/external/folly/folly/portability/Libunwind.h +21 -0
  662. package/external/folly/folly/portability/Malloc.cpp +31 -0
  663. package/external/folly/folly/portability/Malloc.h +53 -0
  664. package/external/folly/folly/portability/Math.h +90 -0
  665. package/external/folly/folly/portability/Memory.h +26 -0
  666. package/external/folly/folly/portability/OpenSSL.cpp +17 -0
  667. package/external/folly/folly/portability/OpenSSL.h +102 -0
  668. package/external/folly/folly/portability/PThread.cpp +697 -0
  669. package/external/folly/folly/portability/PThread.h +148 -0
  670. package/external/folly/folly/portability/README.md +21 -0
  671. package/external/folly/folly/portability/Sched.cpp +41 -0
  672. package/external/folly/folly/portability/Sched.h +45 -0
  673. package/external/folly/folly/portability/Sockets.cpp +245 -0
  674. package/external/folly/folly/portability/Sockets.h +155 -0
  675. package/external/folly/folly/portability/SourceLocation.h +49 -0
  676. package/external/folly/folly/portability/Stdio.cpp +77 -0
  677. package/external/folly/folly/portability/Stdio.h +32 -0
  678. package/external/folly/folly/portability/Stdlib.cpp +172 -0
  679. package/external/folly/folly/portability/Stdlib.h +64 -0
  680. package/external/folly/folly/portability/String.cpp +53 -0
  681. package/external/folly/folly/portability/String.h +39 -0
  682. package/external/folly/folly/portability/SysFile.cpp +46 -0
  683. package/external/folly/folly/portability/SysFile.h +27 -0
  684. package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
  685. package/external/folly/folly/portability/SysMembarrier.h +26 -0
  686. package/external/folly/folly/portability/SysMman.cpp +242 -0
  687. package/external/folly/folly/portability/SysMman.h +68 -0
  688. package/external/folly/folly/portability/SysResource.cpp +108 -0
  689. package/external/folly/folly/portability/SysResource.h +71 -0
  690. package/external/folly/folly/portability/SysStat.cpp +66 -0
  691. package/external/folly/folly/portability/SysStat.h +52 -0
  692. package/external/folly/folly/portability/SysSyscall.h +73 -0
  693. package/external/folly/folly/portability/SysTime.cpp +62 -0
  694. package/external/folly/folly/portability/SysTime.h +50 -0
  695. package/external/folly/folly/portability/SysTypes.h +44 -0
  696. package/external/folly/folly/portability/SysUio.cpp +179 -0
  697. package/external/folly/folly/portability/SysUio.h +51 -0
  698. package/external/folly/folly/portability/Syslog.h +39 -0
  699. package/external/folly/folly/portability/Time.cpp +357 -0
  700. package/external/folly/folly/portability/Time.h +74 -0
  701. package/external/folly/folly/portability/Unistd.h +111 -0
  702. package/external/folly/folly/portability/Windows.h +108 -0
  703. package/external/folly/folly/portability/openat2.c +30 -0
  704. package/external/folly/folly/portability/openat2.h +39 -0
  705. package/external/folly/folly/portability/test/BUCK +59 -0
  706. package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
  707. package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
  708. package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
  709. package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
  710. package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
  711. package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
  712. package/external/folly/folly/small_vector.h +17 -0
  713. package/external/folly/folly/somerge_defs.bzl +399 -0
  714. package/external/folly/folly/sorted_vector_types.h +17 -0
  715. package/external/folly/folly/stop_watch.h +317 -0
  716. package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
  717. package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
  718. package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
  719. package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
  720. package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
  721. package/external/folly/folly/synchronization/AtomicRef.h +181 -0
  722. package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
  723. package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
  724. package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
  725. package/external/folly/folly/synchronization/BUCK +418 -0
  726. package/external/folly/folly/synchronization/Baton.h +419 -0
  727. package/external/folly/folly/synchronization/CallOnce.h +263 -0
  728. package/external/folly/folly/synchronization/DelayedInit.h +179 -0
  729. package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
  730. package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
  731. package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
  732. package/external/folly/folly/synchronization/EventCount.h +200 -0
  733. package/external/folly/folly/synchronization/FlatCombining.h +629 -0
  734. package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
  735. package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
  736. package/external/folly/folly/synchronization/Hazptr.h +209 -0
  737. package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
  738. package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
  739. package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
  740. package/external/folly/folly/synchronization/HazptrObj.h +533 -0
  741. package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
  742. package/external/folly/folly/synchronization/HazptrRec.h +68 -0
  743. package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
  744. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
  745. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
  746. package/external/folly/folly/synchronization/Latch.h +160 -0
  747. package/external/folly/folly/synchronization/LifoSem.h +767 -0
  748. package/external/folly/folly/synchronization/Lock.h +887 -0
  749. package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
  750. package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
  751. package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
  752. package/external/folly/folly/synchronization/ParkingLot.h +330 -0
  753. package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
  754. package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
  755. package/external/folly/folly/synchronization/Rcu.cpp +26 -0
  756. package/external/folly/folly/synchronization/Rcu.h +553 -0
  757. package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
  758. package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
  759. package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
  760. package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
  761. package/external/folly/folly/synchronization/SmallLocks.h +36 -0
  762. package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
  763. package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
  764. package/external/folly/folly/synchronization/WaitOptions.h +75 -0
  765. package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
  766. package/external/folly/folly/synchronization/detail/BUCK +104 -0
  767. package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
  768. package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
  769. package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
  770. package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
  771. package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
  772. package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
  773. package/external/folly/folly/synchronization/detail/Spin.h +96 -0
  774. package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
  775. package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
  776. package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
  777. package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
  778. package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
  779. package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
  780. package/external/folly/folly/synchronization/example/BUCK +27 -0
  781. package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
  782. package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
  783. package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
  784. package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
  785. package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
  786. package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
  787. package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
  788. package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
  789. package/external/folly/folly/synchronization/test/BUCK +495 -0
  790. package/external/folly/folly/synchronization/test/Barrier.h +52 -0
  791. package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
  792. package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
  793. package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
  794. package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
  795. package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
  796. package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
  797. package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
  798. package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
  799. package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
  800. package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
  801. package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
  802. package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
  803. package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
  804. package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
  805. package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
  806. package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
  807. package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
  808. package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
  809. package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
  810. package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
  811. package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
  812. package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
  813. package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
  814. package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
  815. package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
  816. package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
  817. package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
  818. package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
  819. package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
  820. package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
  821. package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
  822. package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
  823. package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
  824. package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
  825. package/external/folly/folly/system/AtFork.cpp +205 -0
  826. package/external/folly/folly/system/AtFork.h +116 -0
  827. package/external/folly/folly/system/AuxVector.h +198 -0
  828. package/external/folly/folly/system/BUCK +144 -0
  829. package/external/folly/folly/system/EnvUtil.cpp +93 -0
  830. package/external/folly/folly/system/EnvUtil.h +113 -0
  831. package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
  832. package/external/folly/folly/system/HardwareConcurrency.h +23 -0
  833. package/external/folly/folly/system/MemoryMapping.cpp +477 -0
  834. package/external/folly/folly/system/MemoryMapping.h +287 -0
  835. package/external/folly/folly/system/Pid.cpp +87 -0
  836. package/external/folly/folly/system/Pid.h +34 -0
  837. package/external/folly/folly/system/Shell.cpp +33 -0
  838. package/external/folly/folly/system/Shell.h +93 -0
  839. package/external/folly/folly/system/ThreadId.cpp +89 -0
  840. package/external/folly/folly/system/ThreadId.h +62 -0
  841. package/external/folly/folly/system/ThreadName.cpp +330 -0
  842. package/external/folly/folly/system/ThreadName.h +72 -0
  843. package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
  844. package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
  845. package/external/folly/folly/system/test/BUCK +120 -0
  846. package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
  847. package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
  848. package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
  849. package/external/folly/folly/system/test/PidTest.cpp +46 -0
  850. package/external/folly/folly/system/test/ShellTest.cpp +66 -0
  851. package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
  852. package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
  853. package/external/folly/folly.vcxitems +164 -0
  854. package/external/folly/sync-config.json +8 -0
  855. package/package.json +3 -3
  856. package/template/cpp-app/proj/MyApp.sln +0 -33
  857. package/template/cpp-lib/proj/MyLib.sln +0 -33
  858. package/template/cs-app/proj/MyApp.sln +0 -33
  859. package/template/cs-lib/proj/MyLib.sln +0 -33
  860. package/templates/cpp-app/windows/MyApp.sln +0 -33
  861. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  862. package/Folly/Folly.vcxproj +0 -383
  863. package/Folly/Folly.vcxproj.filters +0 -558
  864. package/Folly/Folly.win32.vcxproj +0 -11
  865. package/Folly/packages.lock.win32.json +0 -20
  866. package/fmt/fmt.vcxproj +0 -163
  867. package/fmt/fmt.vcxproj.filters +0 -59
  868. package/fmt/fmt.win32.vcxproj +0 -10
  869. package/fmt/pch.cpp +0 -4
  870. package/fmt/pch.h +0 -2
  871. /package/{Folly → external/folly}/Folly.natvis +0 -0
  872. /package/{Folly → external/folly}/cgmanifest.json +0 -0
  873. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/ConstexprMath.h +0 -0
  874. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/Conv.cpp +0 -0
  875. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/chrono/Hardware.h +0 -0
  876. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/concurrency/CacheLocality.cpp +0 -0
  877. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/dynamic-inl.h +0 -0
  878. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/json.cpp +0 -0
  879. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/SafeAssert.h +0 -0
  880. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.cpp +0 -0
  881. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.h +0 -0
  882. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/portability/Unistd.cpp +0 -0
@@ -0,0 +1,150 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #pragma once
18
+
19
+ #include <errno.h>
20
+
21
+ #include <cstdio>
22
+ #include <stdexcept>
23
+ #include <system_error>
24
+
25
+ #include <folly/Conv.h>
26
+ #include <folly/FBString.h>
27
+ #include <folly/Likely.h>
28
+ #include <folly/Portability.h>
29
+ #include <folly/portability/SysTypes.h>
30
+
31
+ namespace folly {
32
+
33
+ // Various helpers to throw appropriate std::system_error exceptions from C
34
+ // library errors (returned in errno, as positive return values (many POSIX
35
+ // functions), or as negative return values (Linux syscalls))
36
+ //
37
+ // The *Explicit functions take an explicit value for errno.
38
+
39
+ // On linux and similar platforms the value of `errno` is a mixture of
40
+ // POSIX-`errno`-domain error codes and per-OS extended error codes. So the
41
+ // most appropriate category to use is `system_category`.
42
+ //
43
+ // On Windows `system_category` means codes that can be returned by Win32 API
44
+ // `GetLastError` and codes from the `errno`-domain must be reported as
45
+ // `generic_category`.
46
+ inline const std::error_category& errorCategoryForErrnoDomain() noexcept {
47
+ if (kIsWindows) {
48
+ return std::generic_category();
49
+ }
50
+ return std::system_category();
51
+ }
52
+
53
+ inline std::system_error makeSystemErrorExplicit(int err, const char* msg) {
54
+ return std::system_error(err, errorCategoryForErrnoDomain(), msg);
55
+ }
56
+
57
+ template <class... Args>
58
+ std::system_error makeSystemErrorExplicit(int err, Args&&... args) {
59
+ return makeSystemErrorExplicit(
60
+ err, to<fbstring>(std::forward<Args>(args)...).c_str());
61
+ }
62
+
63
+ inline std::system_error makeSystemError(const char* msg) {
64
+ return makeSystemErrorExplicit(errno, msg);
65
+ }
66
+
67
+ template <class... Args>
68
+ std::system_error makeSystemError(Args&&... args) {
69
+ return makeSystemErrorExplicit(errno, std::forward<Args>(args)...);
70
+ }
71
+
72
+ // Helper to throw std::system_error
73
+ [[noreturn]] inline void throwSystemErrorExplicit(int err, const char* msg) {
74
+ throw_exception(makeSystemErrorExplicit(err, msg));
75
+ }
76
+
77
+ template <class... Args>
78
+ [[noreturn]] void throwSystemErrorExplicit(int err, Args&&... args) {
79
+ throw_exception(makeSystemErrorExplicit(err, std::forward<Args>(args)...));
80
+ }
81
+
82
+ // Helper to throw std::system_error from errno and components of a string
83
+ template <class... Args>
84
+ [[noreturn]] void throwSystemError(Args&&... args) {
85
+ throwSystemErrorExplicit(errno, std::forward<Args>(args)...);
86
+ }
87
+
88
+ // Check a Posix return code (0 on success, error number on error), throw
89
+ // on error.
90
+ template <class... Args>
91
+ void checkPosixError(int err, Args&&... args) {
92
+ if (FOLLY_UNLIKELY(err != 0)) {
93
+ throwSystemErrorExplicit(err, std::forward<Args>(args)...);
94
+ }
95
+ }
96
+
97
+ // Check a Linux kernel-style return code (>= 0 on success, negative error
98
+ // number on error), throw on error.
99
+ template <class... Args>
100
+ void checkKernelError(ssize_t ret, Args&&... args) {
101
+ if (FOLLY_UNLIKELY(ret < 0)) {
102
+ throwSystemErrorExplicit(int(-ret), std::forward<Args>(args)...);
103
+ }
104
+ }
105
+
106
+ // Check a traditional Unix return code (-1 and sets errno on error), throw
107
+ // on error.
108
+ template <class... Args>
109
+ void checkUnixError(ssize_t ret, Args&&... args) {
110
+ if (FOLLY_UNLIKELY(ret == -1)) {
111
+ throwSystemError(std::forward<Args>(args)...);
112
+ }
113
+ }
114
+
115
+ template <class... Args>
116
+ void checkUnixErrorExplicit(ssize_t ret, int savedErrno, Args&&... args) {
117
+ if (FOLLY_UNLIKELY(ret == -1)) {
118
+ throwSystemErrorExplicit(savedErrno, std::forward<Args>(args)...);
119
+ }
120
+ }
121
+
122
+ // Check the return code from a fopen-style function (returns a non-nullptr
123
+ // FILE* on success, nullptr on error, sets errno). Works with fopen, fdopen,
124
+ // freopen, tmpfile, etc.
125
+ template <class... Args>
126
+ void checkFopenError(FILE* fp, Args&&... args) {
127
+ if (FOLLY_UNLIKELY(!fp)) {
128
+ throwSystemError(std::forward<Args>(args)...);
129
+ }
130
+ }
131
+
132
+ template <class... Args>
133
+ void checkFopenErrorExplicit(FILE* fp, int savedErrno, Args&&... args) {
134
+ if (FOLLY_UNLIKELY(!fp)) {
135
+ throwSystemErrorExplicit(savedErrno, std::forward<Args>(args)...);
136
+ }
137
+ }
138
+
139
+ /**
140
+ * If cond is not true, raise an exception of type E. E must have a ctor that
141
+ * works with const char* (a description of the failure).
142
+ */
143
+ #define CHECK_THROW(cond, E) \
144
+ do { \
145
+ if (!(cond)) { \
146
+ folly::throw_exception<E>("Check failed: " #cond); \
147
+ } \
148
+ } while (0)
149
+
150
+ } // namespace folly
@@ -0,0 +1,51 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #include <folly/ExceptionString.h>
18
+
19
+ #include <utility>
20
+
21
+ #include <folly/Demangle.h>
22
+ #include <folly/lang/Exception.h>
23
+ #include <folly/lang/TypeInfo.h>
24
+
25
+ namespace folly {
26
+
27
+ namespace {
28
+
29
+ fbstring exception_string_type(std::type_info const* ti) {
30
+ return ti ? demangle(*ti) : "<unknown exception>";
31
+ }
32
+
33
+ } // namespace
34
+
35
+ /**
36
+ * Debug string for an exception: include type and what(), if
37
+ * defined.
38
+ */
39
+ fbstring exceptionStr(std::exception const& e) {
40
+ auto prefix = exception_string_type(folly::type_info_of(e));
41
+ return std::move(prefix) + ": " + e.what();
42
+ }
43
+
44
+ fbstring exceptionStr(std::exception_ptr const& ep) {
45
+ if (auto ex = exception_ptr_get_object<std::exception>(ep)) {
46
+ return exceptionStr(*ex);
47
+ }
48
+ return exception_string_type(exception_ptr_get_type(ep));
49
+ }
50
+
51
+ } // namespace folly
@@ -0,0 +1,33 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #pragma once
18
+
19
+ #include <exception>
20
+
21
+ #include <folly/FBString.h>
22
+
23
+ namespace folly {
24
+
25
+ /**
26
+ * Debug string for an exception: include type and what(), if
27
+ * defined.
28
+ */
29
+ fbstring exceptionStr(std::exception const& e);
30
+
31
+ fbstring exceptionStr(std::exception_ptr const& ep);
32
+
33
+ } // namespace folly
@@ -0,0 +1,264 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #include <folly/Portability.h>
18
+
19
+ namespace folly {
20
+
21
+ struct exception_wrapper::with_exception_from_fn_ {
22
+ struct impl_var_ {
23
+ template <typename>
24
+ using apply = void;
25
+ };
26
+ struct impl_arg_ {
27
+ template <typename F>
28
+ using apply = typename function_traits<F>::template argument<0>;
29
+ };
30
+ struct impl_bye_;
31
+ template <
32
+ typename Sig,
33
+ typename Traits = function_traits<Sig>,
34
+ std::size_t NArgs = Traits::template arguments<type_pack_size_t>::value>
35
+ using impl_ = conditional_t<
36
+ Traits::is_variadic,
37
+ impl_var_,
38
+ conditional_t<NArgs == 1, impl_arg_, impl_bye_>>;
39
+
40
+ template <typename T>
41
+ using member_ = typename member_pointer_traits<T>::member_type;
42
+
43
+ template <typename Void, typename>
44
+ struct arg_type_;
45
+ template <class Sig>
46
+ struct arg_type_<std::enable_if_t<std::is_function<Sig>::value>, Sig> {
47
+ using type = typename impl_<Sig>::template apply<Sig>;
48
+ };
49
+ template <class Ptr>
50
+ struct arg_type_<std::enable_if_t<std::is_pointer<Ptr>::value>, Ptr>
51
+ : arg_type_<void, std::remove_pointer_t<Ptr>> {};
52
+ template <class Obj>
53
+ struct arg_type_<void_t<decltype(&Obj::operator())>, Obj>
54
+ : arg_type_<void, member_<decltype(&Obj::operator())>> {};
55
+
56
+ // void if Fn is a variadic callable; otherwise the first arg type
57
+ template <typename, typename Fn>
58
+ using apply = _t<arg_type_<void, Fn>>;
59
+ };
60
+
61
+ struct exception_wrapper::with_exception_from_ex_ {
62
+ template <typename Ex, typename>
63
+ using apply = Ex;
64
+ };
65
+
66
+ // The libc++ and cpplib implementations do not have a move constructor or a
67
+ // move-assignment operator. To avoid refcount operations, we must improvise.
68
+ // The libstdc++ implementation has a move constructor and a move-assignment
69
+ // operator but having this does no harm.
70
+ inline std::exception_ptr exception_wrapper::extract_(
71
+ std::exception_ptr&& ptr) noexcept {
72
+ constexpr auto sz = sizeof(std::exception_ptr);
73
+ // assume relocatability on all platforms
74
+ // assume nrvo for performance
75
+ std::exception_ptr ret;
76
+ std::memcpy(static_cast<void*>(&ret), &ptr, sz);
77
+ std::memset(static_cast<void*>(&ptr), 0, sz);
78
+ return ret;
79
+ }
80
+
81
+ inline exception_wrapper::exception_wrapper(exception_wrapper&& that) noexcept
82
+ : ptr_{extract_(std::move(that.ptr_))} {}
83
+
84
+ inline exception_wrapper::exception_wrapper(
85
+ std::exception_ptr const& ptr) noexcept
86
+ : ptr_{ptr} {}
87
+
88
+ inline exception_wrapper::exception_wrapper(std::exception_ptr&& ptr) noexcept
89
+ : ptr_{extract_(std::move(ptr))} {}
90
+
91
+ template <
92
+ class Ex,
93
+ class Ex_,
94
+ FOLLY_REQUIRES_DEF(Conjunction<
95
+ exception_wrapper::IsStdException<Ex_>,
96
+ exception_wrapper::IsRegularExceptionType<Ex_>>::value)>
97
+ inline exception_wrapper::exception_wrapper(Ex&& ex)
98
+ : ptr_{make_exception_ptr_with(std::in_place, std::forward<Ex>(ex))} {}
99
+
100
+ template <
101
+ class Ex,
102
+ class Ex_,
103
+ FOLLY_REQUIRES_DEF(exception_wrapper::IsRegularExceptionType<Ex_>::value)>
104
+ inline exception_wrapper::exception_wrapper(std::in_place_t, Ex&& ex)
105
+ : ptr_{make_exception_ptr_with(std::in_place, std::forward<Ex>(ex))} {}
106
+
107
+ template <
108
+ class Ex,
109
+ typename... As,
110
+ FOLLY_REQUIRES_DEF(exception_wrapper::IsRegularExceptionType<Ex>::value)>
111
+ inline exception_wrapper::exception_wrapper(
112
+ std::in_place_type_t<Ex>, As&&... as)
113
+ : ptr_{make_exception_ptr_with(
114
+ std::in_place_type<Ex>, std::forward<As>(as)...)} {}
115
+
116
+ inline exception_wrapper& exception_wrapper::operator=(
117
+ exception_wrapper&& that) noexcept {
118
+ // assume relocatability on all platforms
119
+ constexpr auto sz = sizeof(std::exception_ptr);
120
+ std::exception_ptr tmp;
121
+ std::memcpy(static_cast<void*>(&tmp), &ptr_, sz);
122
+ std::memcpy(static_cast<void*>(&ptr_), &that.ptr_, sz);
123
+ std::memset(static_cast<void*>(&that.ptr_), 0, sz);
124
+ return *this;
125
+ }
126
+
127
+ inline void exception_wrapper::swap(exception_wrapper& that) noexcept {
128
+ // assume relocatability on all platforms
129
+ constexpr auto sz = sizeof(std::exception_ptr);
130
+ aligned_storage_for_t<std::exception_ptr> storage;
131
+ std::memcpy(&storage, &ptr_, sz);
132
+ std::memcpy(static_cast<void*>(&ptr_), &that.ptr_, sz);
133
+ std::memcpy(static_cast<void*>(&that.ptr_), &storage, sz);
134
+ }
135
+
136
+ inline exception_wrapper::operator bool() const noexcept {
137
+ return !!ptr_;
138
+ }
139
+
140
+ inline bool exception_wrapper::operator!() const noexcept {
141
+ return !ptr_;
142
+ }
143
+
144
+ inline void exception_wrapper::reset() {
145
+ ptr_ = {};
146
+ }
147
+
148
+ inline bool exception_wrapper::has_exception_ptr() const noexcept {
149
+ return !!ptr_;
150
+ }
151
+
152
+ inline std::exception* exception_wrapper::get_exception() noexcept {
153
+ return exception_ptr_get_object<std::exception>(ptr_);
154
+ }
155
+ inline std::exception const* exception_wrapper::get_exception() const noexcept {
156
+ return exception_ptr_get_object<std::exception>(ptr_);
157
+ }
158
+
159
+ template <typename Ex>
160
+ inline Ex* exception_wrapper::get_exception() noexcept {
161
+ return exception_ptr_get_object_hint<Ex>(ptr_, tag<Ex>);
162
+ }
163
+
164
+ template <typename Ex>
165
+ inline Ex const* exception_wrapper::get_exception() const noexcept {
166
+ return exception_ptr_get_object_hint<Ex>(ptr_, tag<Ex>);
167
+ }
168
+
169
+ inline std::exception_ptr exception_wrapper::to_exception_ptr() const noexcept {
170
+ return ptr_;
171
+ }
172
+
173
+ inline std::exception_ptr const& exception_wrapper::exception_ptr_ref()
174
+ const noexcept {
175
+ return ptr_;
176
+ }
177
+
178
+ inline std::type_info const* exception_wrapper::type() const noexcept {
179
+ return exception_ptr_get_type(ptr_);
180
+ }
181
+
182
+ inline folly::fbstring exception_wrapper::what() const {
183
+ if (auto e = get_exception()) {
184
+ return class_name() + ": " + e->what();
185
+ }
186
+ return class_name();
187
+ }
188
+
189
+ inline folly::fbstring exception_wrapper::class_name() const {
190
+ auto const* const ti = type();
191
+ return !*this ? "" : !ti ? "<unknown>" : folly::demangle(*ti);
192
+ }
193
+
194
+ template <class Ex>
195
+ inline bool exception_wrapper::is_compatible_with() const noexcept {
196
+ return exception_ptr_get_object<Ex>(ptr_);
197
+ }
198
+
199
+ [[noreturn]] inline void exception_wrapper::throw_exception() const {
200
+ ptr_ ? std::rethrow_exception(ptr_) : onNoExceptionError(__func__);
201
+ }
202
+
203
+ template <class Ex>
204
+ [[noreturn]] inline void exception_wrapper::throw_with_nested(Ex&& ex) const {
205
+ try {
206
+ throw_exception();
207
+ } catch (...) {
208
+ std::throw_with_nested(std::forward<Ex>(ex));
209
+ }
210
+ }
211
+
212
+ template <class This, class Fn>
213
+ inline bool exception_wrapper::with_exception_(This&, Fn fn_, tag_t<void>) {
214
+ return void(fn_()), true;
215
+ }
216
+
217
+ template <class This, class Fn, typename Ex>
218
+ inline bool exception_wrapper::with_exception_(This& this_, Fn fn_, tag_t<Ex>) {
219
+ auto ptr = this_.template get_exception<remove_cvref_t<Ex>>();
220
+ return ptr && (void(fn_(static_cast<Ex&>(*ptr))), true);
221
+ }
222
+
223
+ template <class Ex, class This, class Fn>
224
+ inline bool exception_wrapper::with_exception_(This& this_, Fn fn_) {
225
+ using from_fn = with_exception_from_fn_;
226
+ using from_ex = with_exception_from_ex_;
227
+ using from = conditional_t<std::is_void<Ex>::value, from_fn, from_ex>;
228
+ using type = typename from::template apply<Ex, Fn>;
229
+ return with_exception_(this_, std::move(fn_), tag<type>);
230
+ }
231
+
232
+ template <class This, class... CatchFns>
233
+ inline void exception_wrapper::handle_(
234
+ This& this_, char const* name, CatchFns&... fns) {
235
+ using _ = bool[];
236
+ if (!this_) {
237
+ onNoExceptionError(name);
238
+ }
239
+ bool handled = false;
240
+ void(_{false, (handled = handled || with_exception_<void>(this_, fns))...});
241
+ if (!handled) {
242
+ this_.throw_exception();
243
+ }
244
+ }
245
+
246
+ template <class Ex, class Fn>
247
+ inline bool exception_wrapper::with_exception(Fn fn) {
248
+ return with_exception_<Ex>(*this, std::move(fn));
249
+ }
250
+ template <class Ex, class Fn>
251
+ inline bool exception_wrapper::with_exception(Fn fn) const {
252
+ return with_exception_<Ex const>(*this, std::move(fn));
253
+ }
254
+
255
+ template <class... CatchFns>
256
+ inline void exception_wrapper::handle(CatchFns... fns) {
257
+ handle_(*this, __func__, fns...);
258
+ }
259
+ template <class... CatchFns>
260
+ inline void exception_wrapper::handle(CatchFns... fns) const {
261
+ handle_(*this, __func__, fns...);
262
+ }
263
+
264
+ } // namespace folly
@@ -0,0 +1,37 @@
1
+ /*
2
+ * Copyright (c) Meta Platforms, Inc. and affiliates.
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+
17
+ #include <folly/ExceptionWrapper.h>
18
+
19
+ #include <iostream>
20
+
21
+ #include <folly/GLog.h>
22
+
23
+ namespace folly {
24
+
25
+ [[noreturn]] void exception_wrapper::onNoExceptionError(
26
+ char const* const name) {
27
+ std::ios_base::Init ioinit_; // ensure std::cerr is alive
28
+ std::cerr << "Cannot use `" << name
29
+ << "` with an empty folly::exception_wrapper" << std::endl;
30
+ std::terminate();
31
+ }
32
+
33
+ fbstring exceptionStr(exception_wrapper const& ew) {
34
+ return ew.what();
35
+ }
36
+
37
+ } // namespace folly