react-native-windows 0.84.0 → 0.84.2

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 (923) hide show
  1. package/Directory.Build.props +2 -17
  2. package/Folly/ThreadNameStub.cpp +4 -6
  3. package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +1 -1
  4. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -7
  5. package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -3
  6. package/PropertySheets/CIBuildOptimizations.props +2 -2
  7. package/PropertySheets/Generated/PackageVersion.g.props +3 -3
  8. package/PropertySheets/JSEngine.props +1 -1
  9. package/PropertySheets/NuGet.LockFile.props +10 -1
  10. package/PropertySheets/React.Cpp.props +3 -3
  11. package/PropertySheets/WinUI.props +2 -1
  12. package/ReactCommon/ReactCommon.vcxproj +0 -5
  13. package/Scripts/EnableInternalWinAppSDKFeed.ps1 +12 -5
  14. package/Scripts/NuGetRestoreForceEvaluateAllSolutions.ps1 +61 -6
  15. package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -37
  16. package/Scripts/UpdateNightlyDependencies.ps1 +47 -0
  17. package/Scripts/creaternwapp.cmd +5 -8
  18. package/Scripts/creaternwlib.cmd +10 -23
  19. package/Shared/Shared.vcxitems +2 -0
  20. package/{Folly → external}/.clang-format +0 -1
  21. package/external/External.vcxitems +10 -0
  22. package/external/fast-float/.syncignore +10 -0
  23. package/external/fast-float/LICENSE-APACHE +190 -0
  24. package/external/fast-float/LICENSE-BOOST +23 -0
  25. package/external/fast-float/LICENSE-MIT +27 -0
  26. package/external/fast-float/README.md +545 -0
  27. package/external/fast-float/cgmanifest.json +15 -0
  28. package/external/fast-float/fast-float.vcxitems +14 -0
  29. package/external/fast-float/include/fast_float/ascii_number.h +588 -0
  30. package/external/fast-float/include/fast_float/bigint.h +638 -0
  31. package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
  32. package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
  33. package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
  34. package/external/fast-float/include/fast_float/fast_float.h +59 -0
  35. package/external/fast-float/include/fast_float/fast_table.h +708 -0
  36. package/external/fast-float/include/fast_float/float_common.h +1240 -0
  37. package/external/fast-float/include/fast_float/parse_number.h +399 -0
  38. package/external/fast-float/sync-config.json +8 -0
  39. package/external/fmt/.syncignore +10 -0
  40. package/external/fmt/CONTRIBUTING.md +20 -0
  41. package/external/fmt/LICENSE +27 -0
  42. package/external/fmt/README.md +484 -0
  43. package/external/fmt/doc/ChangeLog-old.md +3290 -0
  44. package/external/fmt/doc/api.md +650 -0
  45. package/external/fmt/doc/fmt.css +61 -0
  46. package/external/fmt/doc/fmt.js +4 -0
  47. package/external/fmt/doc/get-started.md +222 -0
  48. package/external/fmt/doc/index.md +151 -0
  49. package/external/fmt/doc/perf.svg +1 -0
  50. package/external/fmt/doc/python-license.txt +290 -0
  51. package/external/fmt/doc/syntax.md +887 -0
  52. package/external/fmt/fmt.vcxitems +28 -0
  53. package/external/fmt/include/fmt/args.h +228 -0
  54. package/external/fmt/include/fmt/base.h +3077 -0
  55. package/external/fmt/include/fmt/chrono.h +2432 -0
  56. package/external/fmt/include/fmt/color.h +612 -0
  57. package/external/fmt/include/fmt/compile.h +529 -0
  58. package/external/fmt/include/fmt/core.h +5 -0
  59. package/external/fmt/include/fmt/format-inl.h +1928 -0
  60. package/external/fmt/include/fmt/format.h +4427 -0
  61. package/external/fmt/include/fmt/os.h +439 -0
  62. package/external/fmt/include/fmt/ostream.h +211 -0
  63. package/external/fmt/include/fmt/printf.h +656 -0
  64. package/external/fmt/include/fmt/ranges.h +882 -0
  65. package/external/fmt/include/fmt/std.h +699 -0
  66. package/external/fmt/include/fmt/xchar.h +322 -0
  67. package/external/fmt/src/fmt.cc +135 -0
  68. package/external/fmt/src/format.cc +43 -0
  69. package/external/fmt/src/os.cc +403 -0
  70. package/external/fmt/sync-config.json +8 -0
  71. package/external/folly/.syncignore +60 -0
  72. package/external/folly/LICENSE +200 -0
  73. package/external/folly/README.md +263 -0
  74. package/{fmt → external/folly/folly}/.clang-format +0 -1
  75. package/external/folly/folly/AtomicHashArray-inl.h +546 -0
  76. package/external/folly/folly/AtomicHashArray.h +431 -0
  77. package/external/folly/folly/AtomicHashMap-inl.h +653 -0
  78. package/external/folly/folly/AtomicHashMap.h +484 -0
  79. package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
  80. package/external/folly/folly/AtomicLinkedList.h +110 -0
  81. package/external/folly/folly/AtomicUnorderedMap.h +522 -0
  82. package/external/folly/folly/BUCK +1631 -0
  83. package/external/folly/folly/BUILD_MODE.bzl +72 -0
  84. package/external/folly/folly/Benchmark.cpp +986 -0
  85. package/external/folly/folly/Benchmark.h +680 -0
  86. package/external/folly/folly/BenchmarkUtil.h +47 -0
  87. package/external/folly/folly/Bits.h +17 -0
  88. package/external/folly/folly/CMakeLists.txt +110 -0
  89. package/external/folly/folly/CPortability.h +338 -0
  90. package/external/folly/folly/CancellationToken-inl.h +449 -0
  91. package/external/folly/folly/CancellationToken.cpp +250 -0
  92. package/external/folly/folly/CancellationToken.h +365 -0
  93. package/external/folly/folly/Chrono.h +132 -0
  94. package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
  95. package/external/folly/folly/ClockGettimeWrappers.h +29 -0
  96. package/external/folly/folly/ConcurrentBitSet.h +157 -0
  97. package/external/folly/folly/ConcurrentLazy.h +74 -0
  98. package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
  99. package/external/folly/folly/ConcurrentSkipList.h +824 -0
  100. package/external/folly/folly/ConstructorCallbackList.h +158 -0
  101. package/external/folly/folly/Conv.h +2026 -0
  102. package/external/folly/folly/CppAttributes.h +170 -0
  103. package/external/folly/folly/CpuId.h +297 -0
  104. package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
  105. package/external/folly/folly/Demangle.cpp +255 -0
  106. package/external/folly/folly/Demangle.h +73 -0
  107. package/external/folly/folly/DiscriminatedPtr.h +236 -0
  108. package/external/folly/folly/DynamicConverter.h +17 -0
  109. package/external/folly/folly/Exception.h +150 -0
  110. package/external/folly/folly/ExceptionString.cpp +51 -0
  111. package/external/folly/folly/ExceptionString.h +33 -0
  112. package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
  113. package/external/folly/folly/ExceptionWrapper.cpp +37 -0
  114. package/external/folly/folly/ExceptionWrapper.h +377 -0
  115. package/external/folly/folly/Executor.cpp +111 -0
  116. package/external/folly/folly/Executor.h +351 -0
  117. package/external/folly/folly/Expected.h +1725 -0
  118. package/external/folly/folly/FBString.h +2888 -0
  119. package/external/folly/folly/FBVector.h +17 -0
  120. package/external/folly/folly/File.cpp +180 -0
  121. package/external/folly/folly/File.h +177 -0
  122. package/external/folly/folly/FileUtil.cpp +378 -0
  123. package/external/folly/folly/FileUtil.h +332 -0
  124. package/external/folly/folly/Fingerprint.cpp +135 -0
  125. package/external/folly/folly/Fingerprint.h +289 -0
  126. package/external/folly/folly/FixedString.h +2965 -0
  127. package/external/folly/folly/FollyMemcpy.cpp +30 -0
  128. package/external/folly/folly/FollyMemcpy.h +23 -0
  129. package/external/folly/folly/FollyMemset.cpp +29 -0
  130. package/external/folly/folly/FollyMemset.h +25 -0
  131. package/external/folly/folly/Format-inl.h +1152 -0
  132. package/external/folly/folly/Format.cpp +429 -0
  133. package/external/folly/folly/Format.h +463 -0
  134. package/external/folly/folly/FormatArg.h +285 -0
  135. package/external/folly/folly/FormatTraits.h +65 -0
  136. package/external/folly/folly/Function.h +1159 -0
  137. package/external/folly/folly/GLog.h +85 -0
  138. package/external/folly/folly/GroupVarint.cpp +153 -0
  139. package/external/folly/folly/GroupVarint.h +630 -0
  140. package/external/folly/folly/Hash.h +20 -0
  141. package/external/folly/folly/IPAddress.cpp +490 -0
  142. package/external/folly/folly/IPAddress.h +667 -0
  143. package/external/folly/folly/IPAddressException.h +82 -0
  144. package/external/folly/folly/IPAddressV4.cpp +305 -0
  145. package/external/folly/folly/IPAddressV4.h +495 -0
  146. package/external/folly/folly/IPAddressV6.cpp +541 -0
  147. package/external/folly/folly/IPAddressV6.h +627 -0
  148. package/external/folly/folly/Indestructible.h +164 -0
  149. package/external/folly/folly/IndexedMemPool.h +550 -0
  150. package/external/folly/folly/IntrusiveList.h +17 -0
  151. package/external/folly/folly/Lazy.h +142 -0
  152. package/external/folly/folly/Likely.h +76 -0
  153. package/external/folly/folly/MPMCPipeline.h +280 -0
  154. package/external/folly/folly/MPMCQueue.h +1556 -0
  155. package/external/folly/folly/MacAddress.cpp +188 -0
  156. package/external/folly/folly/MacAddress.h +260 -0
  157. package/external/folly/folly/MapUtil.h +17 -0
  158. package/external/folly/folly/Math.h +258 -0
  159. package/external/folly/folly/MaybeManagedPtr.h +120 -0
  160. package/external/folly/folly/Memory.h +900 -0
  161. package/external/folly/folly/MicroLock.cpp +76 -0
  162. package/external/folly/folly/MicroLock.h +354 -0
  163. package/external/folly/folly/MicroSpinLock.h +17 -0
  164. package/external/folly/folly/MoveWrapper.h +76 -0
  165. package/external/folly/folly/ObserverContainer.h +1026 -0
  166. package/external/folly/folly/Optional.h +743 -0
  167. package/external/folly/folly/Overload.h +325 -0
  168. package/external/folly/folly/PackedSyncPtr.h +147 -0
  169. package/external/folly/folly/Padded.h +464 -0
  170. package/external/folly/folly/Poly-inl.h +230 -0
  171. package/external/folly/folly/Poly.h +1095 -0
  172. package/external/folly/folly/PolyException.h +43 -0
  173. package/external/folly/folly/Portability.h +644 -0
  174. package/external/folly/folly/Preprocessor.h +236 -0
  175. package/external/folly/folly/ProducerConsumerQueue.h +182 -0
  176. package/external/folly/folly/RWSpinLock.h +17 -0
  177. package/external/folly/folly/Random-inl.h +86 -0
  178. package/external/folly/folly/Random.cpp +184 -0
  179. package/external/folly/folly/Random.h +434 -0
  180. package/external/folly/folly/Range.h +1772 -0
  181. package/external/folly/folly/Replaceable.h +636 -0
  182. package/external/folly/folly/ScopeGuard.cpp +29 -0
  183. package/external/folly/folly/ScopeGuard.h +420 -0
  184. package/external/folly/folly/SharedMutex.cpp +81 -0
  185. package/external/folly/folly/SharedMutex.h +1751 -0
  186. package/external/folly/folly/Singleton-inl.h +332 -0
  187. package/external/folly/folly/Singleton.cpp +512 -0
  188. package/external/folly/folly/Singleton.h +891 -0
  189. package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
  190. package/external/folly/folly/SingletonThreadLocal.h +263 -0
  191. package/external/folly/folly/SocketAddress.cpp +786 -0
  192. package/external/folly/folly/SocketAddress.h +768 -0
  193. package/external/folly/folly/SpinLock.h +55 -0
  194. package/external/folly/folly/String-inl.h +668 -0
  195. package/external/folly/folly/String.cpp +777 -0
  196. package/external/folly/folly/String.h +767 -0
  197. package/external/folly/folly/Subprocess.cpp +1142 -0
  198. package/external/folly/folly/Subprocess.h +1055 -0
  199. package/external/folly/folly/Synchronized.h +1833 -0
  200. package/external/folly/folly/SynchronizedPtr.h +106 -0
  201. package/external/folly/folly/ThreadCachedInt.h +175 -0
  202. package/external/folly/folly/ThreadLocal.h +478 -0
  203. package/external/folly/folly/TimeoutQueue.cpp +78 -0
  204. package/external/folly/folly/TimeoutQueue.h +123 -0
  205. package/external/folly/folly/TokenBucket.h +673 -0
  206. package/external/folly/folly/Traits.h +1442 -0
  207. package/external/folly/folly/Try-inl.h +372 -0
  208. package/external/folly/folly/Try.cpp +23 -0
  209. package/external/folly/folly/Try.h +728 -0
  210. package/external/folly/folly/UTF8String.h +56 -0
  211. package/external/folly/folly/Unicode.cpp +201 -0
  212. package/external/folly/folly/Unicode.h +94 -0
  213. package/external/folly/folly/Unit.h +65 -0
  214. package/external/folly/folly/Uri-inl.h +101 -0
  215. package/external/folly/folly/Uri.cpp +190 -0
  216. package/external/folly/folly/Uri.h +142 -0
  217. package/external/folly/folly/Utility.h +932 -0
  218. package/external/folly/folly/VERSION +1 -0
  219. package/external/folly/folly/Varint.h +230 -0
  220. package/external/folly/folly/VirtualExecutor.h +17 -0
  221. package/external/folly/folly/algorithm/simd/BUCK +47 -0
  222. package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
  223. package/external/folly/folly/algorithm/simd/Contains.h +116 -0
  224. package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
  225. package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
  226. package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
  227. package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
  228. package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
  229. package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
  230. package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
  231. package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
  232. package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
  233. package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
  234. package/external/folly/folly/base64.h +264 -0
  235. package/external/folly/folly/chrono/BUCK +29 -0
  236. package/external/folly/folly/chrono/Clock.h +65 -0
  237. package/external/folly/folly/chrono/Conv.h +712 -0
  238. package/external/folly/folly/chrono/test/BUCK +26 -0
  239. package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
  240. package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
  241. package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
  242. package/external/folly/folly/concurrency/BUCK +170 -0
  243. package/external/folly/folly/concurrency/CacheLocality.h +460 -0
  244. package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
  245. package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
  246. package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
  247. package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
  248. package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
  249. package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
  250. package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
  251. package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
  252. package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
  253. package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
  254. package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
  255. package/external/folly/folly/concurrency/container/BUCK +77 -0
  256. package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
  257. package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
  258. package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
  259. package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
  260. package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
  261. package/external/folly/folly/concurrency/container/test/BUCK +75 -0
  262. package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
  263. package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
  264. package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
  265. package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
  266. package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
  267. package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
  268. package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
  269. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
  270. package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
  271. package/external/folly/folly/concurrency/memory/BUCK +53 -0
  272. package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
  273. package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
  274. package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
  275. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
  276. package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
  277. package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
  278. package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
  279. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
  280. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
  281. package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
  282. package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
  283. package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
  284. package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
  285. package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
  286. package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
  287. package/external/folly/folly/concurrency/test/BUCK +229 -0
  288. package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
  289. package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
  290. package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
  291. package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
  292. package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
  293. package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
  294. package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
  295. package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
  296. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
  297. package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
  298. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
  299. package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
  300. package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
  301. package/external/folly/folly/container/Access.h +57 -0
  302. package/external/folly/folly/container/Array.h +87 -0
  303. package/external/folly/folly/container/BUCK +353 -0
  304. package/external/folly/folly/container/BitIterator.h +203 -0
  305. package/external/folly/folly/container/Enumerate.h +162 -0
  306. package/external/folly/folly/container/EvictingCacheMap.h +730 -0
  307. package/external/folly/folly/container/F14.md +300 -0
  308. package/external/folly/folly/container/F14Map-fwd.h +113 -0
  309. package/external/folly/folly/container/F14Map.h +2108 -0
  310. package/external/folly/folly/container/F14Set-fwd.h +95 -0
  311. package/external/folly/folly/container/F14Set.h +1603 -0
  312. package/external/folly/folly/container/FBVector.h +1711 -0
  313. package/external/folly/folly/container/Foreach-inl.h +316 -0
  314. package/external/folly/folly/container/Foreach.h +209 -0
  315. package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
  316. package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
  317. package/external/folly/folly/container/IntrusiveHeap.h +268 -0
  318. package/external/folly/folly/container/IntrusiveList.h +131 -0
  319. package/external/folly/folly/container/Iterator.h +843 -0
  320. package/external/folly/folly/container/MapUtil.h +376 -0
  321. package/external/folly/folly/container/Merge.h +90 -0
  322. package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
  323. package/external/folly/folly/container/RegexMatchCache.h +699 -0
  324. package/external/folly/folly/container/Reserve.h +109 -0
  325. package/external/folly/folly/container/SparseByteSet.h +123 -0
  326. package/external/folly/folly/container/View.h +81 -0
  327. package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
  328. package/external/folly/folly/container/detail/BUCK +115 -0
  329. package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
  330. package/external/folly/folly/container/detail/F14Defaults.h +34 -0
  331. package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
  332. package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
  333. package/external/folly/folly/container/detail/F14Mask.h +235 -0
  334. package/external/folly/folly/container/detail/F14Policy.h +1523 -0
  335. package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
  336. package/external/folly/folly/container/detail/F14Table.cpp +71 -0
  337. package/external/folly/folly/container/detail/F14Table.h +2680 -0
  338. package/external/folly/folly/container/detail/Util.h +303 -0
  339. package/external/folly/folly/container/detail/tape_detail.h +135 -0
  340. package/external/folly/folly/container/detail/test/BUCK +14 -0
  341. package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
  342. package/external/folly/folly/container/heap_vector_types.h +1683 -0
  343. package/external/folly/folly/container/range_traits.h +81 -0
  344. package/external/folly/folly/container/small_vector.h +1476 -0
  345. package/external/folly/folly/container/sorted_vector_types.h +1652 -0
  346. package/external/folly/folly/container/span.h +408 -0
  347. package/external/folly/folly/container/tape.h +608 -0
  348. package/external/folly/folly/container/test/.clang-tidy +12 -0
  349. package/external/folly/folly/container/test/AccessTest.cpp +138 -0
  350. package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
  351. package/external/folly/folly/container/test/BUCK +568 -0
  352. package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
  353. package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
  354. package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
  355. package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
  356. package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
  357. package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
  358. package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
  359. package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
  360. package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
  361. package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
  362. package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
  363. package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
  364. package/external/folly/folly/container/test/F14TestUtil.h +117 -0
  365. package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
  366. package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
  367. package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
  368. package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
  369. package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
  370. package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
  371. package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
  372. package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
  373. package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
  374. package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
  375. package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
  376. package/external/folly/folly/container/test/MergeTest.cpp +66 -0
  377. package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
  378. package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
  379. package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
  380. package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
  381. package/external/folly/folly/container/test/TrackingTypes.h +584 -0
  382. package/external/folly/folly/container/test/UtilTest.cpp +609 -0
  383. package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
  384. package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
  385. package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
  386. package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
  387. package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
  388. package/external/folly/folly/container/test/span_test.cpp +520 -0
  389. package/external/folly/folly/container/test/tape_bench.cpp +200 -0
  390. package/external/folly/folly/container/test/tape_test.cpp +590 -0
  391. package/external/folly/folly/defs.bzl +238 -0
  392. package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
  393. package/external/folly/folly/detail/AsyncTrace.h +44 -0
  394. package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
  395. package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
  396. package/external/folly/folly/detail/BUCK +406 -0
  397. package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
  398. package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
  399. package/external/folly/folly/detail/FileUtilDetail.h +85 -0
  400. package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
  401. package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
  402. package/external/folly/folly/detail/Futex-inl.h +123 -0
  403. package/external/folly/folly/detail/Futex.cpp +273 -0
  404. package/external/folly/folly/detail/Futex.h +109 -0
  405. package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
  406. package/external/folly/folly/detail/IPAddress.cpp +37 -0
  407. package/external/folly/folly/detail/IPAddress.h +57 -0
  408. package/external/folly/folly/detail/IPAddressSource.h +278 -0
  409. package/external/folly/folly/detail/Iterators.h +156 -0
  410. package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
  411. package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
  412. package/external/folly/folly/detail/MemoryIdler.h +216 -0
  413. package/external/folly/folly/detail/PerfScoped.cpp +112 -0
  414. package/external/folly/folly/detail/PerfScoped.h +70 -0
  415. package/external/folly/folly/detail/PolyDetail.h +921 -0
  416. package/external/folly/folly/detail/RangeCommon.cpp +55 -0
  417. package/external/folly/folly/detail/RangeCommon.h +93 -0
  418. package/external/folly/folly/detail/RangeSse42.cpp +198 -0
  419. package/external/folly/folly/detail/RangeSse42.h +30 -0
  420. package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
  421. package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
  422. package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
  423. package/external/folly/folly/detail/Singleton.h +34 -0
  424. package/external/folly/folly/detail/SlowFingerprint.h +90 -0
  425. package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
  426. package/external/folly/folly/detail/SocketFastOpen.h +89 -0
  427. package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
  428. package/external/folly/folly/detail/SplitStringSimd.h +151 -0
  429. package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
  430. package/external/folly/folly/detail/Sse.cpp +35 -0
  431. package/external/folly/folly/detail/Sse.h +45 -0
  432. package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
  433. package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
  434. package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
  435. package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
  436. package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
  437. package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
  438. package/external/folly/folly/detail/TurnSequencer.h +295 -0
  439. package/external/folly/folly/detail/TypeList.h +551 -0
  440. package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
  441. package/external/folly/folly/detail/UniqueInstance.h +68 -0
  442. package/external/folly/folly/detail/base64_detail/BUCK +102 -0
  443. package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
  444. package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
  445. package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
  446. package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
  447. package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
  448. package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
  449. package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
  450. package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
  451. package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
  452. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
  453. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
  454. package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
  455. package/external/folly/folly/detail/base64_detail/README.md +392 -0
  456. package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
  457. package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
  458. package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
  459. package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
  460. package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
  461. package/external/folly/folly/detail/test/BUCK +118 -0
  462. package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
  463. package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
  464. package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
  465. package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
  466. package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
  467. package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
  468. package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
  469. package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
  470. package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
  471. package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
  472. package/external/folly/folly/detail/thread_local_globals.h +36 -0
  473. package/external/folly/folly/docs/AtomicHashMap.md +134 -0
  474. package/external/folly/folly/docs/Benchmark.md +310 -0
  475. package/external/folly/folly/docs/Conv.md +291 -0
  476. package/external/folly/folly/docs/Dynamic.md +220 -0
  477. package/external/folly/folly/docs/DynamicConverter.md +71 -0
  478. package/external/folly/folly/docs/Executors.md +63 -0
  479. package/external/folly/folly/docs/FBString.md +46 -0
  480. package/external/folly/folly/docs/FBVector.md +200 -0
  481. package/external/folly/folly/docs/Fbvector--graphical_solutions.png +0 -0
  482. package/external/folly/folly/docs/Format.md +177 -0
  483. package/external/folly/folly/docs/Function.md +92 -0
  484. package/external/folly/folly/docs/Futures.md +263 -0
  485. package/external/folly/folly/docs/GroupVarint.md +46 -0
  486. package/external/folly/folly/docs/Histogram.md +104 -0
  487. package/external/folly/folly/docs/MapUtils.md +80 -0
  488. package/external/folly/folly/docs/Overview.md +263 -0
  489. package/external/folly/folly/docs/PackedSyncPtr.md +77 -0
  490. package/external/folly/folly/docs/Poly.md +500 -0
  491. package/external/folly/folly/docs/ProducerConsumerQueue.md +82 -0
  492. package/external/folly/folly/docs/Rcu.md +218 -0
  493. package/external/folly/folly/docs/SmallLocks.md +24 -0
  494. package/external/folly/folly/docs/Synchronized.md +793 -0
  495. package/external/folly/folly/docs/ThreadCachedInt.md +98 -0
  496. package/external/folly/folly/docs/ThreadLocal.md +105 -0
  497. package/external/folly/folly/docs/Traits.md +161 -0
  498. package/external/folly/folly/docs/small_vector.md +64 -0
  499. package/external/folly/folly/docs/style.css +23 -0
  500. package/external/folly/folly/dynamic-inl.h +17 -0
  501. package/external/folly/folly/dynamic.h +17 -0
  502. package/external/folly/folly/folly_extended_library.bzl +28 -0
  503. package/external/folly/folly/functional/ApplyTuple.h +204 -0
  504. package/external/folly/folly/functional/BUCK +57 -0
  505. package/external/folly/folly/functional/Invoke.h +880 -0
  506. package/external/folly/folly/functional/Partial.h +130 -0
  507. package/external/folly/folly/functional/protocol.h +203 -0
  508. package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
  509. package/external/folly/folly/functional/test/BUCK +57 -0
  510. package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
  511. package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
  512. package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
  513. package/external/folly/folly/functional/test/traits_test.cpp +551 -0
  514. package/external/folly/folly/functional/traits.h +675 -0
  515. package/external/folly/folly/hash/BUCK +86 -0
  516. package/external/folly/folly/hash/Checksum.cpp +275 -0
  517. package/external/folly/folly/hash/Checksum.h +94 -0
  518. package/external/folly/folly/hash/FarmHash.h +46 -0
  519. package/external/folly/folly/hash/Hash.h +1045 -0
  520. package/external/folly/folly/hash/MurmurHash.h +86 -0
  521. package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
  522. package/external/folly/folly/hash/SpookyHashV1.h +307 -0
  523. package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
  524. package/external/folly/folly/hash/SpookyHashV2.h +339 -0
  525. package/external/folly/folly/hash/detail/BUCK +26 -0
  526. package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
  527. package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
  528. package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
  529. package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
  530. package/external/folly/folly/hash/test/BUCK +132 -0
  531. package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
  532. package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
  533. package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
  534. package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
  535. package/external/folly/folly/hash/test/HashTest.cpp +997 -0
  536. package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
  537. package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
  538. package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
  539. package/external/folly/folly/hash/test/traits_test.cpp +69 -0
  540. package/external/folly/folly/hash/traits.h +115 -0
  541. package/external/folly/folly/json/BUCK +155 -0
  542. package/external/folly/folly/json/DynamicConverter.h +464 -0
  543. package/external/folly/folly/json/DynamicParser-inl.h +316 -0
  544. package/external/folly/folly/json/DynamicParser.cpp +198 -0
  545. package/external/folly/folly/json/DynamicParser.h +394 -0
  546. package/external/folly/folly/json/JSONSchema.cpp +1030 -0
  547. package/external/folly/folly/json/JSONSchema.h +73 -0
  548. package/external/folly/folly/json/JsonMockUtil.h +73 -0
  549. package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
  550. package/external/folly/folly/json/JsonTestUtil.h +88 -0
  551. package/external/folly/folly/json/bser/BUCK +24 -0
  552. package/external/folly/folly/json/bser/Bser.h +107 -0
  553. package/external/folly/folly/json/bser/Dump.cpp +253 -0
  554. package/external/folly/folly/json/bser/Load.cpp +246 -0
  555. package/external/folly/folly/json/bser/test/BUCK +14 -0
  556. package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
  557. package/external/folly/folly/json/dynamic.cpp +552 -0
  558. package/external/folly/folly/json/dynamic.h +1346 -0
  559. package/external/folly/folly/json/json.h +238 -0
  560. package/external/folly/folly/json/json_patch.cpp +325 -0
  561. package/external/folly/folly/json/json_patch.h +126 -0
  562. package/external/folly/folly/json/json_pointer.cpp +114 -0
  563. package/external/folly/folly/json/json_pointer.h +87 -0
  564. package/external/folly/folly/json/test/BUCK +147 -0
  565. package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
  566. package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
  567. package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
  568. package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
  569. package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
  570. package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
  571. package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
  572. package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
  573. package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
  574. package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
  575. package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
  576. package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
  577. package/external/folly/folly/json/tool/BUCK +13 -0
  578. package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
  579. package/external/folly/folly/json.h +17 -0
  580. package/external/folly/folly/json_patch.h +17 -0
  581. package/external/folly/folly/json_pointer.h +17 -0
  582. package/external/folly/folly/lang/Access.h +29 -0
  583. package/external/folly/folly/lang/Align.h +240 -0
  584. package/external/folly/folly/lang/Aligned.h +92 -0
  585. package/external/folly/folly/lang/Assume.h +82 -0
  586. package/external/folly/folly/lang/BUCK +287 -0
  587. package/external/folly/folly/lang/Badge.h +108 -0
  588. package/external/folly/folly/lang/Bits.h +570 -0
  589. package/external/folly/folly/lang/BitsClass.h +312 -0
  590. package/external/folly/folly/lang/Builtin.h +74 -0
  591. package/external/folly/folly/lang/CArray.h +34 -0
  592. package/external/folly/folly/lang/CString.cpp +86 -0
  593. package/external/folly/folly/lang/CString.h +55 -0
  594. package/external/folly/folly/lang/Cast.h +51 -0
  595. package/external/folly/folly/lang/CheckedMath.h +253 -0
  596. package/external/folly/folly/lang/CustomizationPoint.h +58 -0
  597. package/external/folly/folly/lang/Exception.cpp +822 -0
  598. package/external/folly/folly/lang/Exception.h +716 -0
  599. package/external/folly/folly/lang/Extern.h +55 -0
  600. package/external/folly/folly/lang/Hint-inl.h +144 -0
  601. package/external/folly/folly/lang/Hint.h +238 -0
  602. package/external/folly/folly/lang/Keep.h +98 -0
  603. package/external/folly/folly/lang/New.h +124 -0
  604. package/external/folly/folly/lang/Ordering.h +140 -0
  605. package/external/folly/folly/lang/Pretty.h +159 -0
  606. package/external/folly/folly/lang/PropagateConst.h +413 -0
  607. package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
  608. package/external/folly/folly/lang/SafeAssert.cpp +589 -0
  609. package/external/folly/folly/lang/StaticConst.h +33 -0
  610. package/external/folly/folly/lang/Thunk.h +100 -0
  611. package/external/folly/folly/lang/TypeInfo.h +58 -0
  612. package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
  613. package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
  614. package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
  615. package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
  616. package/external/folly/folly/lang/test/BUCK +258 -0
  617. package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
  618. package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
  619. package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
  620. package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
  621. package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
  622. package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
  623. package/external/folly/folly/lang/test/CastTest.cpp +47 -0
  624. package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
  625. package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
  626. package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
  627. package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
  628. package/external/folly/folly/lang/test/HintTest.cpp +100 -0
  629. package/external/folly/folly/lang/test/NewTest.cpp +38 -0
  630. package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
  631. package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
  632. package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
  633. package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
  634. package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
  635. package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
  636. package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
  637. package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
  638. package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
  639. package/external/folly/folly/memcpy.S +292 -0
  640. package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
  641. package/external/folly/folly/memory/Arena-inl.h +83 -0
  642. package/external/folly/folly/memory/Arena.h +325 -0
  643. package/external/folly/folly/memory/BUCK +191 -0
  644. package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
  645. package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
  646. package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
  647. package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
  648. package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
  649. package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
  650. package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
  651. package/external/folly/folly/memory/MallctlHelper.h +167 -0
  652. package/external/folly/folly/memory/Malloc.h +551 -0
  653. package/external/folly/folly/memory/MemoryResource.h +57 -0
  654. package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
  655. package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
  656. package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
  657. package/external/folly/folly/memory/SanitizeAddress.h +117 -0
  658. package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
  659. package/external/folly/folly/memory/SanitizeLeak.h +108 -0
  660. package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
  661. package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
  662. package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
  663. package/external/folly/folly/memory/detail/BUCK +10 -0
  664. package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
  665. package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
  666. package/external/folly/folly/memory/not_null-inl.h +522 -0
  667. package/external/folly/folly/memory/not_null.h +449 -0
  668. package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
  669. package/external/folly/folly/memory/test/BUCK +146 -0
  670. package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
  671. package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
  672. package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
  673. package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
  674. package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
  675. package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
  676. package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
  677. package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
  678. package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
  679. package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
  680. package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
  681. package/external/folly/folly/memset.S +245 -0
  682. package/external/folly/folly/memset_select_aarch64.cpp +72 -0
  683. package/external/folly/folly/portability/Asm.h +50 -0
  684. package/external/folly/folly/portability/Atomic.h +31 -0
  685. package/external/folly/folly/portability/BUCK +456 -0
  686. package/external/folly/folly/portability/Builtins.cpp +31 -0
  687. package/external/folly/folly/portability/Builtins.h +161 -0
  688. package/external/folly/folly/portability/Config.h +43 -0
  689. package/external/folly/folly/portability/Constexpr.h +145 -0
  690. package/external/folly/folly/portability/Dirent.cpp +140 -0
  691. package/external/folly/folly/portability/Dirent.h +41 -0
  692. package/external/folly/folly/portability/Event.h +44 -0
  693. package/external/folly/folly/portability/Fcntl.cpp +120 -0
  694. package/external/folly/folly/portability/Fcntl.h +67 -0
  695. package/external/folly/folly/portability/Filesystem.cpp +67 -0
  696. package/external/folly/folly/portability/Filesystem.h +114 -0
  697. package/external/folly/folly/portability/FmtCompile.h +40 -0
  698. package/external/folly/folly/portability/GFlags.h +139 -0
  699. package/external/folly/folly/portability/GMock.h +35 -0
  700. package/external/folly/folly/portability/GTest.h +35 -0
  701. package/external/folly/folly/portability/IOVec.h +34 -0
  702. package/external/folly/folly/portability/Libgen.cpp +59 -0
  703. package/external/folly/folly/portability/Libgen.h +29 -0
  704. package/external/folly/folly/portability/Libunwind.h +21 -0
  705. package/external/folly/folly/portability/Malloc.cpp +31 -0
  706. package/external/folly/folly/portability/Malloc.h +53 -0
  707. package/external/folly/folly/portability/Math.h +90 -0
  708. package/external/folly/folly/portability/Memory.h +26 -0
  709. package/external/folly/folly/portability/OpenSSL.cpp +17 -0
  710. package/external/folly/folly/portability/OpenSSL.h +102 -0
  711. package/external/folly/folly/portability/PThread.cpp +697 -0
  712. package/external/folly/folly/portability/PThread.h +148 -0
  713. package/external/folly/folly/portability/README.md +21 -0
  714. package/external/folly/folly/portability/Sched.cpp +41 -0
  715. package/external/folly/folly/portability/Sched.h +45 -0
  716. package/external/folly/folly/portability/Sockets.cpp +245 -0
  717. package/external/folly/folly/portability/Sockets.h +155 -0
  718. package/external/folly/folly/portability/SourceLocation.h +49 -0
  719. package/external/folly/folly/portability/Stdio.cpp +77 -0
  720. package/external/folly/folly/portability/Stdio.h +32 -0
  721. package/external/folly/folly/portability/Stdlib.cpp +172 -0
  722. package/external/folly/folly/portability/Stdlib.h +64 -0
  723. package/external/folly/folly/portability/String.cpp +53 -0
  724. package/external/folly/folly/portability/String.h +39 -0
  725. package/external/folly/folly/portability/SysFile.cpp +46 -0
  726. package/external/folly/folly/portability/SysFile.h +27 -0
  727. package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
  728. package/external/folly/folly/portability/SysMembarrier.h +26 -0
  729. package/external/folly/folly/portability/SysMman.cpp +242 -0
  730. package/external/folly/folly/portability/SysMman.h +68 -0
  731. package/external/folly/folly/portability/SysResource.cpp +108 -0
  732. package/external/folly/folly/portability/SysResource.h +71 -0
  733. package/external/folly/folly/portability/SysStat.cpp +66 -0
  734. package/external/folly/folly/portability/SysStat.h +52 -0
  735. package/external/folly/folly/portability/SysSyscall.h +73 -0
  736. package/external/folly/folly/portability/SysTime.cpp +62 -0
  737. package/external/folly/folly/portability/SysTime.h +50 -0
  738. package/external/folly/folly/portability/SysTypes.h +44 -0
  739. package/external/folly/folly/portability/SysUio.cpp +179 -0
  740. package/external/folly/folly/portability/SysUio.h +51 -0
  741. package/external/folly/folly/portability/Syslog.h +39 -0
  742. package/external/folly/folly/portability/Time.cpp +357 -0
  743. package/external/folly/folly/portability/Time.h +74 -0
  744. package/external/folly/folly/portability/Unistd.h +111 -0
  745. package/external/folly/folly/portability/Windows.h +108 -0
  746. package/external/folly/folly/portability/openat2.c +30 -0
  747. package/external/folly/folly/portability/openat2.h +39 -0
  748. package/external/folly/folly/portability/test/BUCK +59 -0
  749. package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
  750. package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
  751. package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
  752. package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
  753. package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
  754. package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
  755. package/external/folly/folly/small_vector.h +17 -0
  756. package/external/folly/folly/somerge_defs.bzl +399 -0
  757. package/external/folly/folly/sorted_vector_types.h +17 -0
  758. package/external/folly/folly/stop_watch.h +317 -0
  759. package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
  760. package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
  761. package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
  762. package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
  763. package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
  764. package/external/folly/folly/synchronization/AtomicRef.h +181 -0
  765. package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
  766. package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
  767. package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
  768. package/external/folly/folly/synchronization/BUCK +418 -0
  769. package/external/folly/folly/synchronization/Baton.h +419 -0
  770. package/external/folly/folly/synchronization/CallOnce.h +263 -0
  771. package/external/folly/folly/synchronization/DelayedInit.h +179 -0
  772. package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
  773. package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
  774. package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
  775. package/external/folly/folly/synchronization/EventCount.h +200 -0
  776. package/external/folly/folly/synchronization/FlatCombining.h +629 -0
  777. package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
  778. package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
  779. package/external/folly/folly/synchronization/Hazptr.h +209 -0
  780. package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
  781. package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
  782. package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
  783. package/external/folly/folly/synchronization/HazptrObj.h +533 -0
  784. package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
  785. package/external/folly/folly/synchronization/HazptrRec.h +68 -0
  786. package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
  787. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
  788. package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
  789. package/external/folly/folly/synchronization/Latch.h +160 -0
  790. package/external/folly/folly/synchronization/LifoSem.h +767 -0
  791. package/external/folly/folly/synchronization/Lock.h +887 -0
  792. package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
  793. package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
  794. package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
  795. package/external/folly/folly/synchronization/ParkingLot.h +330 -0
  796. package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
  797. package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
  798. package/external/folly/folly/synchronization/Rcu.cpp +26 -0
  799. package/external/folly/folly/synchronization/Rcu.h +553 -0
  800. package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
  801. package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
  802. package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
  803. package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
  804. package/external/folly/folly/synchronization/SmallLocks.h +36 -0
  805. package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
  806. package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
  807. package/external/folly/folly/synchronization/WaitOptions.h +75 -0
  808. package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
  809. package/external/folly/folly/synchronization/detail/BUCK +104 -0
  810. package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
  811. package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
  812. package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
  813. package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
  814. package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
  815. package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
  816. package/external/folly/folly/synchronization/detail/Spin.h +96 -0
  817. package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
  818. package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
  819. package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
  820. package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
  821. package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
  822. package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
  823. package/external/folly/folly/synchronization/example/BUCK +27 -0
  824. package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
  825. package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
  826. package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
  827. package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
  828. package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
  829. package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
  830. package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
  831. package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
  832. package/external/folly/folly/synchronization/test/BUCK +495 -0
  833. package/external/folly/folly/synchronization/test/Barrier.h +52 -0
  834. package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
  835. package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
  836. package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
  837. package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
  838. package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
  839. package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
  840. package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
  841. package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
  842. package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
  843. package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
  844. package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
  845. package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
  846. package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
  847. package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
  848. package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
  849. package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
  850. package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
  851. package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
  852. package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
  853. package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
  854. package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
  855. package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
  856. package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
  857. package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
  858. package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
  859. package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
  860. package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
  861. package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
  862. package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
  863. package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
  864. package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
  865. package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
  866. package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
  867. package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
  868. package/external/folly/folly/system/AtFork.cpp +205 -0
  869. package/external/folly/folly/system/AtFork.h +116 -0
  870. package/external/folly/folly/system/AuxVector.h +198 -0
  871. package/external/folly/folly/system/BUCK +144 -0
  872. package/external/folly/folly/system/EnvUtil.cpp +93 -0
  873. package/external/folly/folly/system/EnvUtil.h +113 -0
  874. package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
  875. package/external/folly/folly/system/HardwareConcurrency.h +23 -0
  876. package/external/folly/folly/system/MemoryMapping.cpp +477 -0
  877. package/external/folly/folly/system/MemoryMapping.h +287 -0
  878. package/external/folly/folly/system/Pid.cpp +87 -0
  879. package/external/folly/folly/system/Pid.h +34 -0
  880. package/external/folly/folly/system/Shell.cpp +33 -0
  881. package/external/folly/folly/system/Shell.h +93 -0
  882. package/external/folly/folly/system/ThreadId.cpp +89 -0
  883. package/external/folly/folly/system/ThreadId.h +62 -0
  884. package/external/folly/folly/system/ThreadName.cpp +330 -0
  885. package/external/folly/folly/system/ThreadName.h +72 -0
  886. package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
  887. package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
  888. package/external/folly/folly/system/test/BUCK +120 -0
  889. package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
  890. package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
  891. package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
  892. package/external/folly/folly/system/test/PidTest.cpp +46 -0
  893. package/external/folly/folly/system/test/ShellTest.cpp +66 -0
  894. package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
  895. package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
  896. package/external/folly/folly.vcxitems +164 -0
  897. package/external/folly/static/logo.svg +1 -0
  898. package/external/folly/sync-config.json +8 -0
  899. package/package.json +6 -6
  900. package/template/cpp-lib/proj/MyLib.sln +0 -33
  901. package/template/cs-lib/proj/MyLib.sln +0 -33
  902. package/templates/cpp-app/windows/MyApp.sln +0 -33
  903. package/templates/cpp-lib/example/metro.config.js +30 -4
  904. package/templates/cpp-lib/windows/MyLib.sln +0 -33
  905. package/Folly/Folly.vcxproj +0 -378
  906. package/Folly/Folly.vcxproj.filters +0 -558
  907. package/fmt/fmt.vcxproj +0 -153
  908. package/fmt/fmt.vcxproj.filters +0 -59
  909. package/fmt/pch.cpp +0 -4
  910. package/fmt/pch.h +0 -2
  911. /package/{fmt → external/fmt}/cgmanifest.json +0 -0
  912. /package/{Folly → external/folly}/Folly.natvis +0 -0
  913. /package/{Folly → external/folly}/cgmanifest.json +0 -0
  914. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/ConstexprMath.h +0 -0
  915. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/Conv.cpp +0 -0
  916. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/chrono/Hardware.h +0 -0
  917. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/concurrency/CacheLocality.cpp +0 -0
  918. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/dynamic-inl.h +0 -0
  919. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/json.cpp +0 -0
  920. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/SafeAssert.h +0 -0
  921. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.cpp +0 -0
  922. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.h +0 -0
  923. /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/portability/Unistd.cpp +0 -0
@@ -0,0 +1,357 @@
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/Time.h>
18
+
19
+ #include <folly/CPortability.h>
20
+ #include <folly/Likely.h>
21
+ #include <folly/Utility.h>
22
+
23
+ #include <cassert>
24
+
25
+ #include <chrono>
26
+
27
+ template <typename _Rep, typename _Period>
28
+ static void duration_to_ts(
29
+ std::chrono::duration<_Rep, _Period> d, struct timespec* ts) {
30
+ ts->tv_sec =
31
+ time_t(std::chrono::duration_cast<std::chrono::seconds>(d).count());
32
+ ts->tv_nsec = long(std::chrono::duration_cast<std::chrono::nanoseconds>(
33
+ d % std::chrono::seconds(1))
34
+ .count());
35
+ }
36
+
37
+ #if !FOLLY_HAVE_CLOCK_GETTIME || FOLLY_FORCE_CLOCK_GETTIME_DEFINITION
38
+ #if __MACH__
39
+ #include <errno.h>
40
+ #include <mach/mach_init.h> // @manual
41
+ #include <mach/mach_port.h> // @manual
42
+ #include <mach/mach_time.h> // @manual
43
+ #include <mach/mach_types.h> // @manual
44
+ #include <mach/task.h> // @manual
45
+ #include <mach/thread_act.h> // @manual
46
+ #include <mach/vm_map.h> // @manual
47
+
48
+ static std::chrono::nanoseconds time_value_to_ns(time_value_t t) {
49
+ return std::chrono::seconds(t.seconds) +
50
+ std::chrono::microseconds(t.microseconds);
51
+ }
52
+
53
+ static int clock_process_cputime(struct timespec* ts) {
54
+ // Get CPU usage for live threads.
55
+ task_thread_times_info thread_times_info;
56
+ mach_msg_type_number_t thread_times_info_count = TASK_THREAD_TIMES_INFO_COUNT;
57
+ kern_return_t kern_result = task_info(
58
+ mach_task_self(),
59
+ TASK_THREAD_TIMES_INFO,
60
+ (thread_info_t)&thread_times_info,
61
+ &thread_times_info_count);
62
+ if (FOLLY_UNLIKELY(kern_result != KERN_SUCCESS)) {
63
+ return -1;
64
+ }
65
+
66
+ // Get CPU usage for terminated threads.
67
+ mach_task_basic_info task_basic_info;
68
+ mach_msg_type_number_t task_basic_info_count = MACH_TASK_BASIC_INFO_COUNT;
69
+ kern_result = task_info(
70
+ mach_task_self(),
71
+ MACH_TASK_BASIC_INFO,
72
+ (thread_info_t)&task_basic_info,
73
+ &task_basic_info_count);
74
+ if (FOLLY_UNLIKELY(kern_result != KERN_SUCCESS)) {
75
+ return -1;
76
+ }
77
+
78
+ auto cputime = time_value_to_ns(thread_times_info.user_time) +
79
+ time_value_to_ns(thread_times_info.system_time) +
80
+ time_value_to_ns(task_basic_info.user_time) +
81
+ time_value_to_ns(task_basic_info.system_time);
82
+ duration_to_ts(cputime, ts);
83
+ return 0;
84
+ }
85
+
86
+ static int clock_thread_cputime(struct timespec* ts) {
87
+ mach_msg_type_number_t count = THREAD_BASIC_INFO_COUNT;
88
+ thread_basic_info_data_t thread_info_data;
89
+ thread_act_t thread = mach_thread_self();
90
+ kern_return_t kern_result = thread_info(
91
+ thread, THREAD_BASIC_INFO, (thread_info_t)&thread_info_data, &count);
92
+ mach_port_deallocate(mach_task_self(), thread);
93
+ if (FOLLY_UNLIKELY(kern_result != KERN_SUCCESS)) {
94
+ return -1;
95
+ }
96
+ auto cputime = time_value_to_ns(thread_info_data.system_time) +
97
+ time_value_to_ns(thread_info_data.user_time);
98
+ duration_to_ts(cputime, ts);
99
+ return 0;
100
+ }
101
+
102
+ FOLLY_ATTR_WEAK int clock_gettime(clockid_t clk_id, struct timespec* ts) {
103
+ switch (folly::to_underlying(clk_id)) {
104
+ case CLOCK_REALTIME: {
105
+ auto now = std::chrono::system_clock::now().time_since_epoch();
106
+ duration_to_ts(now, ts);
107
+ return 0;
108
+ }
109
+ case CLOCK_MONOTONIC: {
110
+ auto now = std::chrono::steady_clock::now().time_since_epoch();
111
+ duration_to_ts(now, ts);
112
+ return 0;
113
+ }
114
+ case CLOCK_PROCESS_CPUTIME_ID:
115
+ return clock_process_cputime(ts);
116
+ case CLOCK_THREAD_CPUTIME_ID:
117
+ return clock_thread_cputime(ts);
118
+ default:
119
+ errno = EINVAL;
120
+ return -1;
121
+ }
122
+ }
123
+
124
+ int clock_getres(clockid_t clk_id, struct timespec* ts) {
125
+ if (clk_id != CLOCK_MONOTONIC) {
126
+ return -1;
127
+ }
128
+
129
+ static auto info = [] {
130
+ static mach_timebase_info_data_t info;
131
+ auto result = (mach_timebase_info(&info) == KERN_SUCCESS) ? &info : nullptr;
132
+ assert(result);
133
+ return result;
134
+ }();
135
+
136
+ ts->tv_sec = 0;
137
+ ts->tv_nsec = info->numer / info->denom;
138
+
139
+ return 0;
140
+ }
141
+ #elif defined(_WIN32)
142
+ #include <errno.h>
143
+ #include <locale.h>
144
+ #include <stdint.h>
145
+ #include <stdlib.h>
146
+
147
+ #include <folly/portability/Windows.h>
148
+
149
+ using unsigned_nanos = std::chrono::duration<uint64_t, std::nano>;
150
+
151
+ static unsigned_nanos filetimeToUnsignedNanos(FILETIME ft) {
152
+ ULARGE_INTEGER i;
153
+ i.HighPart = ft.dwHighDateTime;
154
+ i.LowPart = ft.dwLowDateTime;
155
+
156
+ // FILETIMEs are in units of 100ns.
157
+ return unsigned_nanos(i.QuadPart * 100);
158
+ };
159
+
160
+ static LARGE_INTEGER performanceFrequency() {
161
+ static auto result = [] {
162
+ LARGE_INTEGER freq;
163
+ // On Windows XP or later, this will never fail.
164
+ BOOL res = QueryPerformanceFrequency(&freq);
165
+ assert(res);
166
+ return freq;
167
+ }();
168
+ return result;
169
+ }
170
+
171
+ extern "C" int clock_getres(clockid_t clock_id, struct timespec* res) {
172
+ if (!res) {
173
+ errno = EFAULT;
174
+ return -1;
175
+ }
176
+
177
+ static constexpr size_t kNsPerSec = 1000000000;
178
+ switch (clock_id) {
179
+ case CLOCK_REALTIME: {
180
+ constexpr auto perSec = double(std::chrono::system_clock::period::num) /
181
+ std::chrono::system_clock::period::den;
182
+ res->tv_sec = time_t(perSec);
183
+ res->tv_nsec = time_t(perSec * kNsPerSec);
184
+ return 0;
185
+ }
186
+ case CLOCK_MONOTONIC: {
187
+ constexpr auto perSec = double(std::chrono::steady_clock::period::num) /
188
+ std::chrono::steady_clock::period::den;
189
+ res->tv_sec = time_t(perSec);
190
+ res->tv_nsec = time_t(perSec * kNsPerSec);
191
+ return 0;
192
+ }
193
+ case CLOCK_PROCESS_CPUTIME_ID:
194
+ case CLOCK_THREAD_CPUTIME_ID: {
195
+ DWORD adj, timeIncrement;
196
+ BOOL adjDisabled;
197
+ if (!GetSystemTimeAdjustment(&adj, &timeIncrement, &adjDisabled)) {
198
+ errno = EINVAL;
199
+ return -1;
200
+ }
201
+
202
+ res->tv_sec = 0;
203
+ res->tv_nsec = long(timeIncrement * 100);
204
+ return 0;
205
+ }
206
+
207
+ default:
208
+ errno = EINVAL;
209
+ return -1;
210
+ }
211
+ }
212
+
213
+ extern "C" int clock_gettime(clockid_t clock_id, struct timespec* tp) {
214
+ if (!tp) {
215
+ errno = EFAULT;
216
+ return -1;
217
+ }
218
+
219
+ const auto unanosToTimespec = [](timespec* tp, unsigned_nanos t) -> int {
220
+ static constexpr unsigned_nanos one_sec{std::chrono::seconds(1)};
221
+ tp->tv_sec =
222
+ time_t(std::chrono::duration_cast<std::chrono::seconds>(t).count());
223
+ tp->tv_nsec = long((t % one_sec).count());
224
+ return 0;
225
+ };
226
+
227
+ FILETIME createTime, exitTime, kernalTime, userTime;
228
+ switch (clock_id) {
229
+ case CLOCK_REALTIME: {
230
+ auto now = std::chrono::system_clock::now().time_since_epoch();
231
+ duration_to_ts(now, tp);
232
+ return 0;
233
+ }
234
+ case CLOCK_MONOTONIC: {
235
+ auto now = std::chrono::steady_clock::now().time_since_epoch();
236
+ duration_to_ts(now, tp);
237
+ return 0;
238
+ }
239
+ case CLOCK_PROCESS_CPUTIME_ID: {
240
+ if (!GetProcessTimes(
241
+ GetCurrentProcess(),
242
+ &createTime,
243
+ &exitTime,
244
+ &kernalTime,
245
+ &userTime)) {
246
+ errno = EINVAL;
247
+ return -1;
248
+ }
249
+
250
+ return unanosToTimespec(
251
+ tp,
252
+ filetimeToUnsignedNanos(kernalTime) +
253
+ filetimeToUnsignedNanos(userTime));
254
+ }
255
+ case CLOCK_THREAD_CPUTIME_ID: {
256
+ if (!GetThreadTimes(
257
+ GetCurrentThread(),
258
+ &createTime,
259
+ &exitTime,
260
+ &kernalTime,
261
+ &userTime)) {
262
+ errno = EINVAL;
263
+ return -1;
264
+ }
265
+
266
+ return unanosToTimespec(
267
+ tp,
268
+ filetimeToUnsignedNanos(kernalTime) +
269
+ filetimeToUnsignedNanos(userTime));
270
+ }
271
+
272
+ default:
273
+ errno = EINVAL;
274
+ return -1;
275
+ }
276
+ }
277
+ #else
278
+ #error No clock_gettime(3) compatibility wrapper available for this platform.
279
+ #endif
280
+ #endif
281
+
282
+ #ifdef _WIN32
283
+ #include <iomanip>
284
+ #include <sstream>
285
+
286
+ #include <folly/portability/Windows.h>
287
+
288
+ extern "C" {
289
+ char* asctime_r(const tm* tm, char* buf) {
290
+ char tmpBuf[64];
291
+ if (asctime_s(tmpBuf, tm)) {
292
+ return nullptr;
293
+ }
294
+ // Nothing we can do if the buff is to small :(
295
+ return strcpy(buf, tmpBuf);
296
+ }
297
+
298
+ char* ctime_r(const time_t* t, char* buf) {
299
+ char tmpBuf[64];
300
+ if (ctime_s(tmpBuf, 64, t)) {
301
+ return nullptr;
302
+ }
303
+ // Nothing we can do if the buff is to small :(
304
+ return strcpy(buf, tmpBuf);
305
+ }
306
+
307
+ tm* gmtime_r(const time_t* t, tm* res) {
308
+ if (!gmtime_s(res, t)) {
309
+ return res;
310
+ }
311
+ return nullptr;
312
+ }
313
+
314
+ tm* localtime_r(const time_t* t, tm* o) {
315
+ if (!localtime_s(o, t)) {
316
+ return o;
317
+ }
318
+ return nullptr;
319
+ }
320
+
321
+ int nanosleep(const struct timespec* request, struct timespec* remain) {
322
+ Sleep((DWORD)((request->tv_sec * 1000) + (request->tv_nsec / 1000000)));
323
+ if (remain != nullptr) {
324
+ remain->tv_nsec = 0;
325
+ remain->tv_sec = 0;
326
+ }
327
+ return 0;
328
+ }
329
+
330
+ char* strptime(
331
+ const char* __restrict s,
332
+ const char* __restrict f,
333
+ struct tm* __restrict tm) {
334
+ // Isn't the C++ standard lib nice? std::get_time is defined such that its
335
+ // format parameters are the exact same as strptime. Of course, we have to
336
+ // create a string stream first, and imbue it with the current C locale, and
337
+ // we also have to make sure we return the right things if it fails, or
338
+ // if it succeeds, but this is still far simpler an implementation than any
339
+ // of the versions in any of the C standard libraries.
340
+ std::istringstream input(s);
341
+ input.imbue(std::locale(setlocale(LC_ALL, nullptr)));
342
+ input >> std::get_time(tm, f);
343
+ if (input.fail()) {
344
+ return nullptr;
345
+ }
346
+ return const_cast<char*>(s + input.tellg());
347
+ }
348
+
349
+ time_t timelocal(tm* tm) {
350
+ return mktime(tm);
351
+ }
352
+
353
+ time_t timegm(tm* tm) {
354
+ return _mkgmtime(tm);
355
+ }
356
+ }
357
+ #endif
@@ -0,0 +1,74 @@
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 <stdint.h>
20
+ #include <time.h>
21
+
22
+ #include <folly/portability/Config.h>
23
+
24
+ // OSX is a pain. The XCode 8 SDK always declares clock_gettime
25
+ // even if the target OS version doesn't support it, so you get
26
+ // an error at runtime because it can't resolve the symbol. We
27
+ // solve that by pretending we have it here in the header and
28
+ // then enable our implementation on the source side so that
29
+ // gets linked in instead.
30
+ #if defined(__MACH__) && defined(__CLOCK_AVAILABILITY)
31
+
32
+ #ifdef FOLLY_HAVE_CLOCK_GETTIME
33
+ #undef FOLLY_HAVE_CLOCK_GETTIME
34
+ #endif
35
+
36
+ #define FOLLY_HAVE_CLOCK_GETTIME 1
37
+ #define FOLLY_FORCE_CLOCK_GETTIME_DEFINITION 1
38
+
39
+ #else
40
+
41
+ #define FOLLY_FORCE_CLOCK_GETTIME_DEFINITION 0
42
+
43
+ #endif
44
+
45
+ // These aren't generic implementations, so we can only declare them on
46
+ // platforms we support.
47
+ #if !FOLLY_HAVE_CLOCK_GETTIME && (defined(__MACH__) || defined(_WIN32))
48
+ #define CLOCK_REALTIME 0
49
+ #define CLOCK_MONOTONIC 1
50
+ #define CLOCK_PROCESS_CPUTIME_ID 2
51
+ #define CLOCK_THREAD_CPUTIME_ID 3
52
+
53
+ typedef uint8_t clockid_t;
54
+ extern "C" int clock_gettime(clockid_t clk_id, struct timespec* ts);
55
+ extern "C" int clock_getres(clockid_t clk_id, struct timespec* ts);
56
+ #endif
57
+
58
+ #ifdef _WIN32
59
+ #define TM_YEAR_BASE (1900)
60
+
61
+ extern "C" {
62
+ char* asctime_r(const tm* tm, char* buf);
63
+ char* ctime_r(const time_t* t, char* buf);
64
+ tm* gmtime_r(const time_t* t, tm* res);
65
+ tm* localtime_r(const time_t* t, tm* o);
66
+ int nanosleep(const struct timespec* request, struct timespec* remain);
67
+ char* strptime(
68
+ const char* __restrict buf,
69
+ const char* __restrict fmt,
70
+ struct tm* __restrict tm);
71
+ time_t timelocal(tm* tm);
72
+ time_t timegm(tm* tm);
73
+ }
74
+ #endif
@@ -0,0 +1,111 @@
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
+ #ifndef _WIN32
20
+
21
+ #include <unistd.h>
22
+
23
+ #if defined(__APPLE__) || defined(__EMSCRIPTEN__)
24
+ typedef off_t off64_t;
25
+
26
+ off64_t lseek64(int fh, off64_t off, int orig);
27
+
28
+ ssize_t pread64(int fd, void* buf, size_t count, off64_t offset);
29
+
30
+ #endif
31
+
32
+ #else
33
+
34
+ #include <cstdint>
35
+
36
+ #include <process.h> // @manual
37
+
38
+ #include <sys/locking.h> // @manual
39
+
40
+ #include <folly/Portability.h>
41
+ #include <folly/portability/SysTypes.h>
42
+
43
+ // This is different from the normal headers because there are a few cases,
44
+ // such as close(), where we need to override the definition of an existing
45
+ // function. To avoid conflicts at link time, everything here is in a namespace
46
+ // which is then used globally.
47
+
48
+ #define _SC_PAGESIZE 1
49
+ #define _SC_PAGE_SIZE _SC_PAGESIZE
50
+ #define _SC_NPROCESSORS_ONLN 2
51
+ #define _SC_NPROCESSORS_CONF 2
52
+
53
+ // Windows doesn't define these, but these are the correct values
54
+ // for Windows.
55
+ #define STDIN_FILENO 0
56
+ #define STDOUT_FILENO 1
57
+ #define STDERR_FILENO 2
58
+
59
+ // Windows is weird and doesn't actually defined these
60
+ // for the parameters to access, so we have to do it ourselves -_-...
61
+ #define F_OK 0
62
+ #define X_OK F_OK
63
+ #define W_OK 2
64
+ #define R_OK 4
65
+ #define RW_OK 6
66
+
67
+ #define F_LOCK _LK_LOCK
68
+ #define F_ULOCK _LK_UNLCK
69
+
70
+ namespace folly {
71
+ namespace portability {
72
+ namespace unistd {
73
+ using off64_t = int64_t;
74
+ int access(char const* fn, int am);
75
+ int chdir(const char* path);
76
+ int close(int fh);
77
+ int dup(int fh);
78
+ int dup2(int fhs, int fhd);
79
+ int fsync(int fd);
80
+ int ftruncate(int fd, off_t len);
81
+ char* getcwd(char* buf, int sz);
82
+ int getdtablesize();
83
+ int getgid();
84
+ pid_t getppid();
85
+ int getuid();
86
+ int isatty(int fh);
87
+ int lockf(int fd, int cmd, off_t len);
88
+ off_t lseek(int fh, off_t off, int orig);
89
+ off64_t lseek64(int fh, off64_t off, int orig);
90
+ ssize_t read(int fh, void* buf, size_t mcc);
91
+ int rmdir(const char* path);
92
+ int pipe(int pth[2]);
93
+ ssize_t pread(int fd, void* buf, size_t count, off_t offset);
94
+ ssize_t pread64(int fd, void* buf, size_t count, off64_t offset);
95
+ ssize_t pwrite(int fd, const void* buf, size_t count, off_t offset);
96
+ ssize_t readlink(const char* path, char* buf, size_t buflen);
97
+ void* sbrk(intptr_t i);
98
+ unsigned int sleep(unsigned int seconds);
99
+ long sysconf(int tp);
100
+ int truncate(const char* path, off_t len);
101
+ int usleep(unsigned int ms);
102
+ ssize_t write(int fh, void const* buf, size_t count);
103
+ } // namespace unistd
104
+ } // namespace portability
105
+ } // namespace folly
106
+
107
+ FOLLY_PUSH_WARNING
108
+ FOLLY_CLANG_DISABLE_WARNING("-Wheader-hygiene")
109
+ /* using override */ using namespace folly::portability::unistd;
110
+ FOLLY_POP_WARNING
111
+ #endif
@@ -0,0 +1,108 @@
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
+ // Only do anything if we are on windows.
20
+ #ifdef _WIN32
21
+ // This header is intended to be used in-place of including <Windows.h>,
22
+ // <WinSock2.h>, <io.h> or <direct.h>.
23
+ // It includes all of them, and undefines certain names defined by them that
24
+ // are used in places in Folly.
25
+ //
26
+ // These have to be this way because we define our own versions
27
+ // of close(), because the normal Windows versions don't handle
28
+ // sockets at all.
29
+
30
+ // There are some ordering issues internally in the SDK; we need to ensure
31
+ // stdio.h is included prior to including direct.h and io.h with internal names
32
+ // disabled to ensure all of the normal names get declared properly.
33
+ #include <stdio.h>
34
+
35
+ #ifndef __STDC__
36
+ /* nolint */
37
+ #define __STDC__ 1
38
+ #pragma push_macro("_CRT_DECLARE_NONSTDC_NAMES")
39
+ #ifdef _CRT_DECLARE_NONSTDC_NAMES
40
+ #undef _CRT_DECLARE_NONSTDC_NAMES
41
+ #endif
42
+ #pragma push_macro("_CRT_INTERNAL_NONSTDC_NAMES")
43
+ #undef _CRT_INTERNAL_NONSTDC_NAMES
44
+ #include <direct.h> // @manual nolint
45
+ #include <io.h> // @manual nolint
46
+ #undef __STDC__
47
+ #pragma pop_macro("_CRT_INTERNAL_NONSTDC_NAMES")
48
+ #pragma pop_macro("_CRT_DECLARE_NONSTDC_NAMES")
49
+ #else
50
+ #include <direct.h> // @manual nolint
51
+ #include <io.h> // @manual nolint
52
+ #endif
53
+
54
+ #if defined(min) || defined(max)
55
+ #error Windows.h needs to be included by this header, or else NOMINMAX needs \
56
+ to be defined before including it yourself.
57
+ #endif
58
+
59
+ // This is needed because, for some absurd reason, one of the windows headers
60
+ // tries to define "min" and "max" as macros, which messes up most uses of
61
+ // std::numeric_limits.
62
+ #ifndef NOMINMAX
63
+ #define NOMINMAX 1
64
+ #endif
65
+
66
+ #include <WinSock2.h> // @manual
67
+ #include <Windows.h> // @manual
68
+
69
+ #ifdef CAL_GREGORIAN
70
+ #undef CAL_GREGORIAN
71
+ #endif
72
+
73
+ // Defined in the GDI interface.
74
+ #ifdef ERROR
75
+ #undef ERROR
76
+ #endif
77
+
78
+ // Defined in minwindef.h
79
+ #ifdef IN
80
+ #undef IN
81
+ #endif
82
+
83
+ // Defined in winerror.h
84
+ #ifdef NO_ERROR
85
+ #undef NO_ERROR
86
+ #endif
87
+
88
+ // Defined in minwindef.h
89
+ #ifdef OUT
90
+ #undef OUT
91
+ #endif
92
+
93
+ // Defined in minwindef.h
94
+ #ifdef STRICT
95
+ #undef STRICT
96
+ #endif
97
+
98
+ // Defined in Winbase.h
99
+ #ifdef Yield
100
+ #undef Yield
101
+ #endif
102
+
103
+ // Defined in nb30.h
104
+ #ifdef REGISTERED
105
+ #undef REGISTERED
106
+ #endif
107
+
108
+ #endif
@@ -0,0 +1,30 @@
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/folly-config.h>
18
+
19
+ #if FOLLY_HAVE_OPENAT2
20
+
21
+ #include <folly/portability/openat2.h>
22
+
23
+ #include <sys/syscall.h>
24
+ #include <unistd.h>
25
+
26
+ int openat2(int dirfd, const char* pathname, const struct open_how* how) {
27
+ return syscall(SYS_openat2, dirfd, pathname, how, sizeof(struct open_how));
28
+ }
29
+
30
+ #endif