react-native-windows 0.81.34 → 0.81.37
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.
- package/Directory.Build.props +1 -16
- package/Folly/ThreadNameStub.cpp +4 -6
- package/Microsoft.ReactNative/Fabric/Composition/BorderPrimitive.cpp +1 -1
- package/Microsoft.ReactNative/Fabric/Composition/CompositionEventHandler.cpp +27 -4
- package/Microsoft.ReactNative/Fabric/Composition/ScrollViewComponentView.cpp +8 -4
- package/Microsoft.ReactNative/Fabric/Composition/TextInput/WindowsTextInputComponentView.cpp +7 -3
- package/Microsoft.ReactNative/Fabric/Composition/TooltipService.cpp +48 -2
- package/Microsoft.ReactNative/Fabric/WindowsImageManager.cpp +40 -13
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj +1 -7
- package/Microsoft.ReactNative/Microsoft.ReactNative.vcxproj.filters +0 -3
- package/Microsoft.ReactNative/TurboModulesProvider.cpp +30 -13
- package/PropertySheets/Generated/PackageVersion.g.props +3 -3
- package/PropertySheets/React.Cpp.props +3 -3
- package/ReactCommon/ReactCommon.vcxproj +0 -10
- package/ReactCommon/packages.lock.win32.json +0 -10
- package/Scripts/Tfs/Layout-Desktop-Headers.ps1 +4 -37
- package/Scripts/creaternwlib.cmd +2 -2
- package/Shared/Shared.vcxitems +2 -0
- package/{Folly → external}/.clang-format +0 -1
- package/external/External.vcxitems +10 -0
- package/external/fast-float/.syncignore +10 -0
- package/external/fast-float/LICENSE-APACHE +190 -0
- package/external/fast-float/LICENSE-BOOST +23 -0
- package/external/fast-float/LICENSE-MIT +27 -0
- package/external/fast-float/README.md +545 -0
- package/external/fast-float/cgmanifest.json +15 -0
- package/external/fast-float/fast-float.vcxitems +14 -0
- package/external/fast-float/include/fast_float/ascii_number.h +588 -0
- package/external/fast-float/include/fast_float/bigint.h +638 -0
- package/external/fast-float/include/fast_float/constexpr_feature_detect.h +46 -0
- package/external/fast-float/include/fast_float/decimal_to_binary.h +212 -0
- package/external/fast-float/include/fast_float/digit_comparison.h +457 -0
- package/external/fast-float/include/fast_float/fast_float.h +59 -0
- package/external/fast-float/include/fast_float/fast_table.h +708 -0
- package/external/fast-float/include/fast_float/float_common.h +1240 -0
- package/external/fast-float/include/fast_float/parse_number.h +399 -0
- package/external/fast-float/sync-config.json +8 -0
- package/external/fmt/.syncignore +10 -0
- package/external/fmt/CONTRIBUTING.md +20 -0
- package/external/fmt/LICENSE +27 -0
- package/external/fmt/README.md +484 -0
- package/{fmt → external/fmt}/cgmanifest.json +1 -1
- package/external/fmt/doc/ChangeLog-old.md +3290 -0
- package/external/fmt/doc/api.md +650 -0
- package/external/fmt/doc/fmt.css +61 -0
- package/external/fmt/doc/fmt.js +4 -0
- package/external/fmt/doc/get-started.md +222 -0
- package/external/fmt/doc/index.md +151 -0
- package/external/fmt/doc/perf.svg +1 -0
- package/external/fmt/doc/python-license.txt +290 -0
- package/external/fmt/doc/syntax.md +887 -0
- package/external/fmt/fmt.vcxitems +28 -0
- package/external/fmt/include/fmt/args.h +228 -0
- package/{fmt/TEMP_UntilFmtUpdate/core.h → external/fmt/include/fmt/base.h} +1188 -1036
- package/external/fmt/include/fmt/chrono.h +2432 -0
- package/external/fmt/include/fmt/color.h +612 -0
- package/external/fmt/include/fmt/compile.h +529 -0
- package/external/fmt/include/fmt/core.h +5 -0
- package/external/fmt/include/fmt/format-inl.h +1928 -0
- package/external/fmt/include/fmt/format.h +4427 -0
- package/external/fmt/include/fmt/os.h +439 -0
- package/external/fmt/include/fmt/ostream.h +211 -0
- package/external/fmt/include/fmt/printf.h +656 -0
- package/external/fmt/include/fmt/ranges.h +882 -0
- package/external/fmt/include/fmt/std.h +699 -0
- package/external/fmt/include/fmt/xchar.h +322 -0
- package/external/fmt/src/fmt.cc +135 -0
- package/external/fmt/src/format.cc +43 -0
- package/external/fmt/src/os.cc +403 -0
- package/external/fmt/sync-config.json +8 -0
- package/external/folly/.syncignore +60 -0
- package/external/folly/LICENSE +200 -0
- package/external/folly/README.md +263 -0
- package/{fmt → external/folly/folly}/.clang-format +0 -1
- package/external/folly/folly/AtomicHashArray-inl.h +546 -0
- package/external/folly/folly/AtomicHashArray.h +431 -0
- package/external/folly/folly/AtomicHashMap-inl.h +653 -0
- package/external/folly/folly/AtomicHashMap.h +484 -0
- package/external/folly/folly/AtomicIntrusiveLinkedList.h +206 -0
- package/external/folly/folly/AtomicLinkedList.h +110 -0
- package/external/folly/folly/AtomicUnorderedMap.h +522 -0
- package/external/folly/folly/BUCK +1631 -0
- package/external/folly/folly/BUILD_MODE.bzl +72 -0
- package/external/folly/folly/Benchmark.cpp +986 -0
- package/external/folly/folly/Benchmark.h +680 -0
- package/external/folly/folly/BenchmarkUtil.h +47 -0
- package/external/folly/folly/Bits.h +17 -0
- package/external/folly/folly/CMakeLists.txt +110 -0
- package/external/folly/folly/CPortability.h +338 -0
- package/external/folly/folly/CancellationToken-inl.h +449 -0
- package/external/folly/folly/CancellationToken.cpp +250 -0
- package/external/folly/folly/CancellationToken.h +365 -0
- package/external/folly/folly/Chrono.h +132 -0
- package/external/folly/folly/ClockGettimeWrappers.cpp +93 -0
- package/external/folly/folly/ClockGettimeWrappers.h +29 -0
- package/external/folly/folly/ConcurrentBitSet.h +157 -0
- package/external/folly/folly/ConcurrentLazy.h +74 -0
- package/external/folly/folly/ConcurrentSkipList-inl.h +341 -0
- package/external/folly/folly/ConcurrentSkipList.h +824 -0
- package/external/folly/folly/ConstructorCallbackList.h +158 -0
- package/external/folly/folly/Conv.h +2026 -0
- package/external/folly/folly/CppAttributes.h +170 -0
- package/external/folly/folly/CpuId.h +297 -0
- package/external/folly/folly/DefaultKeepAliveExecutor.h +172 -0
- package/external/folly/folly/Demangle.cpp +255 -0
- package/external/folly/folly/Demangle.h +73 -0
- package/external/folly/folly/DiscriminatedPtr.h +236 -0
- package/external/folly/folly/DynamicConverter.h +17 -0
- package/external/folly/folly/Exception.h +150 -0
- package/external/folly/folly/ExceptionString.cpp +51 -0
- package/external/folly/folly/ExceptionString.h +33 -0
- package/external/folly/folly/ExceptionWrapper-inl.h +264 -0
- package/external/folly/folly/ExceptionWrapper.cpp +37 -0
- package/external/folly/folly/ExceptionWrapper.h +377 -0
- package/external/folly/folly/Executor.cpp +111 -0
- package/external/folly/folly/Executor.h +351 -0
- package/external/folly/folly/Expected.h +1725 -0
- package/external/folly/folly/FBString.h +2888 -0
- package/external/folly/folly/FBVector.h +17 -0
- package/external/folly/folly/File.cpp +180 -0
- package/external/folly/folly/File.h +177 -0
- package/external/folly/folly/FileUtil.cpp +378 -0
- package/external/folly/folly/FileUtil.h +332 -0
- package/external/folly/folly/Fingerprint.cpp +135 -0
- package/external/folly/folly/Fingerprint.h +289 -0
- package/external/folly/folly/FixedString.h +2965 -0
- package/external/folly/folly/FollyMemcpy.cpp +30 -0
- package/external/folly/folly/FollyMemcpy.h +23 -0
- package/external/folly/folly/FollyMemset.cpp +29 -0
- package/external/folly/folly/FollyMemset.h +25 -0
- package/external/folly/folly/Format-inl.h +1152 -0
- package/external/folly/folly/Format.cpp +429 -0
- package/external/folly/folly/Format.h +463 -0
- package/external/folly/folly/FormatArg.h +285 -0
- package/external/folly/folly/FormatTraits.h +65 -0
- package/external/folly/folly/Function.h +1159 -0
- package/external/folly/folly/GLog.h +85 -0
- package/external/folly/folly/GroupVarint.cpp +153 -0
- package/external/folly/folly/GroupVarint.h +630 -0
- package/external/folly/folly/Hash.h +20 -0
- package/external/folly/folly/IPAddress.cpp +490 -0
- package/external/folly/folly/IPAddress.h +667 -0
- package/external/folly/folly/IPAddressException.h +82 -0
- package/external/folly/folly/IPAddressV4.cpp +305 -0
- package/external/folly/folly/IPAddressV4.h +495 -0
- package/external/folly/folly/IPAddressV6.cpp +541 -0
- package/external/folly/folly/IPAddressV6.h +627 -0
- package/external/folly/folly/Indestructible.h +164 -0
- package/external/folly/folly/IndexedMemPool.h +550 -0
- package/external/folly/folly/IntrusiveList.h +17 -0
- package/external/folly/folly/Lazy.h +142 -0
- package/external/folly/folly/Likely.h +76 -0
- package/external/folly/folly/MPMCPipeline.h +280 -0
- package/external/folly/folly/MPMCQueue.h +1556 -0
- package/external/folly/folly/MacAddress.cpp +188 -0
- package/external/folly/folly/MacAddress.h +260 -0
- package/external/folly/folly/MapUtil.h +17 -0
- package/external/folly/folly/Math.h +258 -0
- package/external/folly/folly/MaybeManagedPtr.h +120 -0
- package/external/folly/folly/Memory.h +900 -0
- package/external/folly/folly/MicroLock.cpp +76 -0
- package/external/folly/folly/MicroLock.h +354 -0
- package/external/folly/folly/MicroSpinLock.h +17 -0
- package/external/folly/folly/MoveWrapper.h +76 -0
- package/external/folly/folly/ObserverContainer.h +1026 -0
- package/external/folly/folly/Optional.h +743 -0
- package/external/folly/folly/Overload.h +325 -0
- package/external/folly/folly/PackedSyncPtr.h +147 -0
- package/external/folly/folly/Padded.h +464 -0
- package/external/folly/folly/Poly-inl.h +230 -0
- package/external/folly/folly/Poly.h +1095 -0
- package/external/folly/folly/PolyException.h +43 -0
- package/external/folly/folly/Portability.h +644 -0
- package/external/folly/folly/Preprocessor.h +236 -0
- package/external/folly/folly/ProducerConsumerQueue.h +182 -0
- package/external/folly/folly/RWSpinLock.h +17 -0
- package/external/folly/folly/Random-inl.h +86 -0
- package/external/folly/folly/Random.cpp +184 -0
- package/external/folly/folly/Random.h +434 -0
- package/external/folly/folly/Range.h +1772 -0
- package/external/folly/folly/Replaceable.h +636 -0
- package/external/folly/folly/ScopeGuard.cpp +29 -0
- package/external/folly/folly/ScopeGuard.h +420 -0
- package/external/folly/folly/SharedMutex.cpp +81 -0
- package/external/folly/folly/SharedMutex.h +1751 -0
- package/external/folly/folly/Singleton-inl.h +332 -0
- package/external/folly/folly/Singleton.cpp +512 -0
- package/external/folly/folly/Singleton.h +891 -0
- package/external/folly/folly/SingletonThreadLocal.cpp +53 -0
- package/external/folly/folly/SingletonThreadLocal.h +263 -0
- package/external/folly/folly/SocketAddress.cpp +786 -0
- package/external/folly/folly/SocketAddress.h +768 -0
- package/external/folly/folly/SpinLock.h +55 -0
- package/external/folly/folly/String-inl.h +668 -0
- package/external/folly/folly/String.cpp +777 -0
- package/external/folly/folly/String.h +767 -0
- package/external/folly/folly/Subprocess.cpp +1142 -0
- package/external/folly/folly/Subprocess.h +1055 -0
- package/external/folly/folly/Synchronized.h +1833 -0
- package/external/folly/folly/SynchronizedPtr.h +106 -0
- package/external/folly/folly/ThreadCachedInt.h +175 -0
- package/external/folly/folly/ThreadLocal.h +478 -0
- package/external/folly/folly/TimeoutQueue.cpp +78 -0
- package/external/folly/folly/TimeoutQueue.h +123 -0
- package/external/folly/folly/TokenBucket.h +673 -0
- package/external/folly/folly/Traits.h +1442 -0
- package/external/folly/folly/Try-inl.h +372 -0
- package/external/folly/folly/Try.cpp +23 -0
- package/external/folly/folly/Try.h +728 -0
- package/external/folly/folly/UTF8String.h +56 -0
- package/external/folly/folly/Unicode.cpp +201 -0
- package/external/folly/folly/Unicode.h +94 -0
- package/external/folly/folly/Unit.h +65 -0
- package/external/folly/folly/Uri-inl.h +101 -0
- package/external/folly/folly/Uri.cpp +190 -0
- package/external/folly/folly/Uri.h +142 -0
- package/external/folly/folly/Utility.h +932 -0
- package/external/folly/folly/VERSION +1 -0
- package/external/folly/folly/Varint.h +230 -0
- package/external/folly/folly/VirtualExecutor.h +17 -0
- package/external/folly/folly/algorithm/simd/BUCK +47 -0
- package/external/folly/folly/algorithm/simd/Contains.cpp +42 -0
- package/external/folly/folly/algorithm/simd/Contains.h +116 -0
- package/external/folly/folly/algorithm/simd/FindFixed.h +301 -0
- package/external/folly/folly/algorithm/simd/Ignore.h +52 -0
- package/external/folly/folly/algorithm/simd/Movemask.h +207 -0
- package/external/folly/folly/algorithm/simd/detail/BUCK +70 -0
- package/external/folly/folly/algorithm/simd/detail/ContainsImpl.h +91 -0
- package/external/folly/folly/algorithm/simd/detail/SimdAnyOf.h +83 -0
- package/external/folly/folly/algorithm/simd/detail/SimdForEach.h +209 -0
- package/external/folly/folly/algorithm/simd/detail/SimdPlatform.h +445 -0
- package/external/folly/folly/algorithm/simd/detail/Traits.h +125 -0
- package/external/folly/folly/algorithm/simd/detail/UnrollUtils.h +126 -0
- package/external/folly/folly/base64.h +264 -0
- package/external/folly/folly/chrono/BUCK +29 -0
- package/external/folly/folly/chrono/Clock.h +65 -0
- package/external/folly/folly/chrono/Conv.h +712 -0
- package/external/folly/folly/chrono/test/BUCK +26 -0
- package/external/folly/folly/chrono/test/ClockTest.cpp +68 -0
- package/external/folly/folly/chrono/test/ConvTest.cpp +652 -0
- package/external/folly/folly/concurrency/AtomicSharedPtr.h +387 -0
- package/external/folly/folly/concurrency/BUCK +170 -0
- package/external/folly/folly/concurrency/CacheLocality.h +460 -0
- package/external/folly/folly/concurrency/ConcurrentHashMap.h +822 -0
- package/external/folly/folly/concurrency/CoreCachedSharedPtr.h +232 -0
- package/external/folly/folly/concurrency/DeadlockDetector.cpp +27 -0
- package/external/folly/folly/concurrency/DeadlockDetector.h +44 -0
- package/external/folly/folly/concurrency/DynamicBoundedQueue.h +751 -0
- package/external/folly/folly/concurrency/PriorityUnboundedQueueSet.h +207 -0
- package/external/folly/folly/concurrency/ProcessLocalUniqueId.cpp +46 -0
- package/external/folly/folly/concurrency/ProcessLocalUniqueId.h +38 -0
- package/external/folly/folly/concurrency/SingletonRelaxedCounter.h +325 -0
- package/external/folly/folly/concurrency/ThreadCachedSynchronized.h +227 -0
- package/external/folly/folly/concurrency/UnboundedQueue.h +891 -0
- package/external/folly/folly/concurrency/container/BUCK +77 -0
- package/external/folly/folly/concurrency/container/FlatCombiningPriorityQueue.h +426 -0
- package/external/folly/folly/concurrency/container/LockFreeRingBuffer.h +306 -0
- package/external/folly/folly/concurrency/container/RelaxedConcurrentPriorityQueue.h +1212 -0
- package/external/folly/folly/concurrency/container/SingleWriterFixedHashMap.h +322 -0
- package/external/folly/folly/concurrency/container/atomic_grow_array.h +564 -0
- package/external/folly/folly/concurrency/container/test/BUCK +75 -0
- package/external/folly/folly/concurrency/container/test/FlatCombiningPriorityQueueTest.cpp +570 -0
- package/external/folly/folly/concurrency/container/test/LockFreeRingBufferTest.cpp +276 -0
- package/external/folly/folly/concurrency/container/test/RelaxedConcurrentPriorityQueueTest.cpp +1570 -0
- package/external/folly/folly/concurrency/container/test/SingleWriterFixedHashMapTest.cpp +401 -0
- package/external/folly/folly/concurrency/container/test/atomic_grow_array_test.cpp +187 -0
- package/external/folly/folly/concurrency/detail/AtomicSharedPtr-detail.h +212 -0
- package/external/folly/folly/concurrency/detail/ConcurrentHashMap-detail.h +1911 -0
- package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.cpp +43 -0
- package/external/folly/folly/concurrency/memory/AtomicReadMostlyMainPtr.h +190 -0
- package/external/folly/folly/concurrency/memory/BUCK +53 -0
- package/external/folly/folly/concurrency/memory/PrimaryPtr.h +338 -0
- package/external/folly/folly/concurrency/memory/ReadMostlySharedPtr.h +511 -0
- package/external/folly/folly/concurrency/memory/TLRefCount.h +228 -0
- package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrBenchmark.cpp +56 -0
- package/external/folly/folly/concurrency/memory/test/AtomicReadMostlyMainPtrTest.cpp +454 -0
- package/external/folly/folly/concurrency/memory/test/BUCK +95 -0
- package/external/folly/folly/concurrency/memory/test/PrimaryPtrTest.cpp +303 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrBenchmark.cpp +138 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrStressTest.cpp +75 -0
- package/external/folly/folly/concurrency/memory/test/ReadMostlySharedPtrTest.cpp +378 -0
- package/external/folly/folly/concurrency/memory/test/RefCountBenchmark.cpp +90 -0
- package/external/folly/folly/concurrency/memory/test/RefCountTest.cpp +168 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrCounted.h +156 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrPerformance.cpp +255 -0
- package/external/folly/folly/concurrency/test/AtomicSharedPtrTest.cpp +257 -0
- package/external/folly/folly/concurrency/test/BUCK +229 -0
- package/external/folly/folly/concurrency/test/CacheLocalityBenchmark.cpp +392 -0
- package/external/folly/folly/concurrency/test/CacheLocalityTest.cpp +1229 -0
- package/external/folly/folly/concurrency/test/ConcurrentHashMapBench.cpp +260 -0
- package/external/folly/folly/concurrency/test/ConcurrentHashMapTest.cpp +1242 -0
- package/external/folly/folly/concurrency/test/CoreCachedSharedPtrTest.cpp +408 -0
- package/external/folly/folly/concurrency/test/DynamicBoundedQueueTest.cpp +984 -0
- package/external/folly/folly/concurrency/test/PriorityUnboundedQueueSetTest.cpp +73 -0
- package/external/folly/folly/concurrency/test/ProcessLocalUniqueIdTest.cpp +66 -0
- package/external/folly/folly/concurrency/test/SingletonRelaxedCounterBench.cpp +101 -0
- package/external/folly/folly/concurrency/test/SingletonRelaxedCounterTest.cpp +185 -0
- package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedBench.cpp +76 -0
- package/external/folly/folly/concurrency/test/ThreadCachedSynchronizedTest.cpp +93 -0
- package/external/folly/folly/concurrency/test/UnboundedQueueTest.cpp +1302 -0
- package/external/folly/folly/container/Access.h +57 -0
- package/external/folly/folly/container/Array.h +87 -0
- package/external/folly/folly/container/BUCK +353 -0
- package/external/folly/folly/container/BitIterator.h +203 -0
- package/external/folly/folly/container/Enumerate.h +162 -0
- package/external/folly/folly/container/EvictingCacheMap.h +730 -0
- package/external/folly/folly/container/F14.md +300 -0
- package/external/folly/folly/container/F14Map-fwd.h +113 -0
- package/external/folly/folly/container/F14Map.h +2108 -0
- package/external/folly/folly/container/F14Set-fwd.h +95 -0
- package/external/folly/folly/container/F14Set.h +1603 -0
- package/external/folly/folly/container/FBVector.h +1711 -0
- package/external/folly/folly/container/Foreach-inl.h +316 -0
- package/external/folly/folly/container/Foreach.h +209 -0
- package/external/folly/folly/container/HeterogeneousAccess-fwd.h +33 -0
- package/external/folly/folly/container/HeterogeneousAccess.h +171 -0
- package/external/folly/folly/container/IntrusiveHeap.h +268 -0
- package/external/folly/folly/container/IntrusiveList.h +131 -0
- package/external/folly/folly/container/Iterator.h +843 -0
- package/external/folly/folly/container/MapUtil.h +376 -0
- package/external/folly/folly/container/Merge.h +90 -0
- package/external/folly/folly/container/RegexMatchCache.cpp +521 -0
- package/external/folly/folly/container/RegexMatchCache.h +699 -0
- package/external/folly/folly/container/Reserve.h +109 -0
- package/external/folly/folly/container/SparseByteSet.h +123 -0
- package/external/folly/folly/container/View.h +81 -0
- package/external/folly/folly/container/WeightedEvictingCacheMap.h +651 -0
- package/external/folly/folly/container/detail/BUCK +115 -0
- package/external/folly/folly/container/detail/BitIteratorDetail.h +87 -0
- package/external/folly/folly/container/detail/F14Defaults.h +34 -0
- package/external/folly/folly/container/detail/F14IntrinsicsAvailability.h +67 -0
- package/external/folly/folly/container/detail/F14MapFallback.h +717 -0
- package/external/folly/folly/container/detail/F14Mask.h +235 -0
- package/external/folly/folly/container/detail/F14Policy.h +1523 -0
- package/external/folly/folly/container/detail/F14SetFallback.h +528 -0
- package/external/folly/folly/container/detail/F14Table.cpp +71 -0
- package/external/folly/folly/container/detail/F14Table.h +2680 -0
- package/external/folly/folly/container/detail/Util.h +303 -0
- package/external/folly/folly/container/detail/tape_detail.h +135 -0
- package/external/folly/folly/container/detail/test/BUCK +14 -0
- package/external/folly/folly/container/detail/test/F14DetailTest.cpp +47 -0
- package/external/folly/folly/container/heap_vector_types.h +1683 -0
- package/external/folly/folly/container/range_traits.h +81 -0
- package/external/folly/folly/container/small_vector.h +1476 -0
- package/external/folly/folly/container/sorted_vector_types.h +1652 -0
- package/external/folly/folly/container/span.h +408 -0
- package/external/folly/folly/container/tape.h +608 -0
- package/external/folly/folly/container/test/.clang-tidy +12 -0
- package/external/folly/folly/container/test/AccessTest.cpp +138 -0
- package/external/folly/folly/container/test/ArrayTest.cpp +84 -0
- package/external/folly/folly/container/test/BUCK +568 -0
- package/external/folly/folly/container/test/BitIteratorBench.cpp +112 -0
- package/external/folly/folly/container/test/BitIteratorTest.cpp +109 -0
- package/external/folly/folly/container/test/EnumerateTest.cpp +294 -0
- package/external/folly/folly/container/test/EvictingCacheMapBench.cpp +80 -0
- package/external/folly/folly/container/test/EvictingCacheMapTest.cpp +842 -0
- package/external/folly/folly/container/test/F14AsanSupportTest.cpp +143 -0
- package/external/folly/folly/container/test/F14FwdTest.cpp +37 -0
- package/external/folly/folly/container/test/F14InterprocessTest.cpp +404 -0
- package/external/folly/folly/container/test/F14MapTest.cpp +2543 -0
- package/external/folly/folly/container/test/F14PolicyTest.cpp +49 -0
- package/external/folly/folly/container/test/F14SetTest.cpp +1738 -0
- package/external/folly/folly/container/test/F14SmallOverheads.cpp +215 -0
- package/external/folly/folly/container/test/F14TestUtil.h +117 -0
- package/external/folly/folly/container/test/FBVectorBenchmark.cpp +380 -0
- package/external/folly/folly/container/test/FBVectorBenchmarks.cpp.h +100 -0
- package/external/folly/folly/container/test/FBVectorTest.cpp +326 -0
- package/external/folly/folly/container/test/FBVectorTests.cpp.h +304 -0
- package/external/folly/folly/container/test/ForeachBenchmark.cpp +388 -0
- package/external/folly/folly/container/test/ForeachTest.cpp +338 -0
- package/external/folly/folly/container/test/HashMapsBench.cpp +458 -0
- package/external/folly/folly/container/test/HeterogeneousAccessTest.cpp +242 -0
- package/external/folly/folly/container/test/IntrusiveHeapTest.cpp +262 -0
- package/external/folly/folly/container/test/IteratorTest.cpp +989 -0
- package/external/folly/folly/container/test/MapUtilTest.cpp +365 -0
- package/external/folly/folly/container/test/MergeTest.cpp +66 -0
- package/external/folly/folly/container/test/RegexMatchCacheTest.cpp +634 -0
- package/external/folly/folly/container/test/ReserveTest.cpp +173 -0
- package/external/folly/folly/container/test/SparseByteSetBenchmark.cpp +153 -0
- package/external/folly/folly/container/test/SparseByteSetTest.cpp +117 -0
- package/external/folly/folly/container/test/TrackingTypes.h +584 -0
- package/external/folly/folly/container/test/UtilTest.cpp +609 -0
- package/external/folly/folly/container/test/WeightedEvictingCacheMapTest.cpp +800 -0
- package/external/folly/folly/container/test/heap_vector_types_test.cpp +1774 -0
- package/external/folly/folly/container/test/range_traits_test.cpp +59 -0
- package/external/folly/folly/container/test/small_vector_test.cpp +1571 -0
- package/external/folly/folly/container/test/sorted_vector_test.cpp +1589 -0
- package/external/folly/folly/container/test/span_test.cpp +520 -0
- package/external/folly/folly/container/test/tape_bench.cpp +200 -0
- package/external/folly/folly/container/test/tape_test.cpp +590 -0
- package/external/folly/folly/defs.bzl +238 -0
- package/external/folly/folly/detail/AsyncTrace.cpp +36 -0
- package/external/folly/folly/detail/AsyncTrace.h +44 -0
- package/external/folly/folly/detail/AtomicHashUtils.h +42 -0
- package/external/folly/folly/detail/AtomicUnorderedMapUtils.h +80 -0
- package/external/folly/folly/detail/BUCK +406 -0
- package/external/folly/folly/detail/DiscriminatedPtrDetail.h +172 -0
- package/external/folly/folly/detail/FileUtilDetail.cpp +63 -0
- package/external/folly/folly/detail/FileUtilDetail.h +85 -0
- package/external/folly/folly/detail/FileUtilVectorDetail.h +81 -0
- package/external/folly/folly/detail/FingerprintPolynomial.h +132 -0
- package/external/folly/folly/detail/Futex-inl.h +123 -0
- package/external/folly/folly/detail/Futex.cpp +273 -0
- package/external/folly/folly/detail/Futex.h +109 -0
- package/external/folly/folly/detail/GroupVarintDetail.h +101 -0
- package/external/folly/folly/detail/IPAddress.cpp +37 -0
- package/external/folly/folly/detail/IPAddress.h +57 -0
- package/external/folly/folly/detail/IPAddressSource.h +278 -0
- package/external/folly/folly/detail/Iterators.h +156 -0
- package/external/folly/folly/detail/MPMCPipelineDetail.h +122 -0
- package/external/folly/folly/detail/MemoryIdler.cpp +233 -0
- package/external/folly/folly/detail/MemoryIdler.h +216 -0
- package/external/folly/folly/detail/PerfScoped.cpp +112 -0
- package/external/folly/folly/detail/PerfScoped.h +70 -0
- package/external/folly/folly/detail/PolyDetail.h +921 -0
- package/external/folly/folly/detail/RangeCommon.cpp +55 -0
- package/external/folly/folly/detail/RangeCommon.h +93 -0
- package/external/folly/folly/detail/RangeSse42.cpp +198 -0
- package/external/folly/folly/detail/RangeSse42.h +30 -0
- package/external/folly/folly/detail/SimpleSimdStringUtils.cpp +31 -0
- package/external/folly/folly/detail/SimpleSimdStringUtils.h +27 -0
- package/external/folly/folly/detail/SimpleSimdStringUtilsImpl.h +63 -0
- package/external/folly/folly/detail/Singleton.h +34 -0
- package/external/folly/folly/detail/SlowFingerprint.h +90 -0
- package/external/folly/folly/detail/SocketFastOpen.cpp +175 -0
- package/external/folly/folly/detail/SocketFastOpen.h +89 -0
- package/external/folly/folly/detail/SplitStringSimd.cpp +84 -0
- package/external/folly/folly/detail/SplitStringSimd.h +151 -0
- package/external/folly/folly/detail/SplitStringSimdImpl.h +149 -0
- package/external/folly/folly/detail/Sse.cpp +35 -0
- package/external/folly/folly/detail/Sse.h +45 -0
- package/external/folly/folly/detail/StaticSingletonManager.cpp +119 -0
- package/external/folly/folly/detail/StaticSingletonManager.h +298 -0
- package/external/folly/folly/detail/ThreadLocalDetail.cpp +492 -0
- package/external/folly/folly/detail/ThreadLocalDetail.h +800 -0
- package/external/folly/folly/detail/TrapOnAvx512.cpp +41 -0
- package/external/folly/folly/detail/TrapOnAvx512.h +21 -0
- package/external/folly/folly/detail/TurnSequencer.h +295 -0
- package/external/folly/folly/detail/TypeList.h +551 -0
- package/external/folly/folly/detail/UniqueInstance.cpp +136 -0
- package/external/folly/folly/detail/UniqueInstance.h +68 -0
- package/external/folly/folly/detail/base64_detail/BUCK +102 -0
- package/external/folly/folly/detail/base64_detail/Base64Api.cpp +40 -0
- package/external/folly/folly/detail/base64_detail/Base64Api.h +101 -0
- package/external/folly/folly/detail/base64_detail/Base64Common.h +80 -0
- package/external/folly/folly/detail/base64_detail/Base64Constants.h +79 -0
- package/external/folly/folly/detail/base64_detail/Base64HiddenConstants.h +129 -0
- package/external/folly/folly/detail/base64_detail/Base64SWAR.cpp +161 -0
- package/external/folly/folly/detail/base64_detail/Base64SWAR.h +32 -0
- package/external/folly/folly/detail/base64_detail/Base64Scalar.h +262 -0
- package/external/folly/folly/detail/base64_detail/Base64Simd.h +102 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.cpp +42 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2.h +33 -0
- package/external/folly/folly/detail/base64_detail/Base64_SSE4_2_Platform.h +167 -0
- package/external/folly/folly/detail/base64_detail/README.md +392 -0
- package/external/folly/folly/detail/base64_detail/tests/BUCK +36 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64AgainstScalarTest.cpp +141 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64PlatformTest.cpp +273 -0
- package/external/folly/folly/detail/base64_detail/tests/Base64SpecialCasesTest.cpp +555 -0
- package/external/folly/folly/detail/test/AsyncTraceTest.cpp +43 -0
- package/external/folly/folly/detail/test/BUCK +118 -0
- package/external/folly/folly/detail/test/FileUtilDetailTest.cpp +56 -0
- package/external/folly/folly/detail/test/PerfScopedTest.cpp +107 -0
- package/external/folly/folly/detail/test/SimpleSimdStringUtilsTest.cpp +92 -0
- package/external/folly/folly/detail/test/SplitStringSimdTest.cpp +242 -0
- package/external/folly/folly/detail/test/StaticSingletonManagerTest.cpp +121 -0
- package/external/folly/folly/detail/test/ThreadLocalBenchmark.cpp +116 -0
- package/external/folly/folly/detail/test/ThreadLocalDetailTest.cpp +194 -0
- package/external/folly/folly/detail/test/TrapOnAvx512TestNegative.cpp +29 -0
- package/external/folly/folly/detail/test/UniqueInstanceTest.cpp +60 -0
- package/external/folly/folly/detail/thread_local_globals.cpp +69 -0
- package/external/folly/folly/detail/thread_local_globals.h +36 -0
- package/external/folly/folly/docs/AtomicHashMap.md +134 -0
- package/external/folly/folly/docs/Benchmark.md +310 -0
- package/external/folly/folly/docs/Conv.md +291 -0
- package/external/folly/folly/docs/Dynamic.md +220 -0
- package/external/folly/folly/docs/DynamicConverter.md +71 -0
- package/external/folly/folly/docs/Executors.md +63 -0
- package/external/folly/folly/docs/FBString.md +46 -0
- package/external/folly/folly/docs/FBVector.md +200 -0
- package/external/folly/folly/docs/Fbvector--graphical_solutions.png +0 -0
- package/external/folly/folly/docs/Format.md +177 -0
- package/external/folly/folly/docs/Function.md +92 -0
- package/external/folly/folly/docs/Futures.md +263 -0
- package/external/folly/folly/docs/GroupVarint.md +46 -0
- package/external/folly/folly/docs/Histogram.md +104 -0
- package/external/folly/folly/docs/MapUtils.md +80 -0
- package/external/folly/folly/docs/Overview.md +263 -0
- package/external/folly/folly/docs/PackedSyncPtr.md +77 -0
- package/external/folly/folly/docs/Poly.md +500 -0
- package/external/folly/folly/docs/ProducerConsumerQueue.md +82 -0
- package/external/folly/folly/docs/Rcu.md +218 -0
- package/external/folly/folly/docs/SmallLocks.md +24 -0
- package/external/folly/folly/docs/Synchronized.md +793 -0
- package/external/folly/folly/docs/ThreadCachedInt.md +98 -0
- package/external/folly/folly/docs/ThreadLocal.md +105 -0
- package/external/folly/folly/docs/Traits.md +161 -0
- package/external/folly/folly/docs/small_vector.md +64 -0
- package/external/folly/folly/docs/style.css +23 -0
- package/external/folly/folly/dynamic-inl.h +17 -0
- package/external/folly/folly/dynamic.h +17 -0
- package/external/folly/folly/folly_extended_library.bzl +28 -0
- package/external/folly/folly/functional/ApplyTuple.h +204 -0
- package/external/folly/folly/functional/BUCK +57 -0
- package/external/folly/folly/functional/Invoke.h +880 -0
- package/external/folly/folly/functional/Partial.h +130 -0
- package/external/folly/folly/functional/protocol.h +203 -0
- package/external/folly/folly/functional/test/ApplyTupleTest.cpp +549 -0
- package/external/folly/folly/functional/test/BUCK +57 -0
- package/external/folly/folly/functional/test/InvokeTest.cpp +483 -0
- package/external/folly/folly/functional/test/PartialTest.cpp +141 -0
- package/external/folly/folly/functional/test/protocol_test.cpp +177 -0
- package/external/folly/folly/functional/test/traits_test.cpp +551 -0
- package/external/folly/folly/functional/traits.h +675 -0
- package/external/folly/folly/hash/BUCK +86 -0
- package/external/folly/folly/hash/Checksum.cpp +275 -0
- package/external/folly/folly/hash/Checksum.h +94 -0
- package/external/folly/folly/hash/FarmHash.h +46 -0
- package/external/folly/folly/hash/Hash.h +1045 -0
- package/external/folly/folly/hash/MurmurHash.h +86 -0
- package/external/folly/folly/hash/SpookyHashV1.cpp +391 -0
- package/external/folly/folly/hash/SpookyHashV1.h +307 -0
- package/external/folly/folly/hash/SpookyHashV2.cpp +392 -0
- package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/hash/SpookyHashV2.h +6 -1
- package/external/folly/folly/hash/detail/BUCK +26 -0
- package/external/folly/folly/hash/detail/ChecksumDetail.cpp +296 -0
- package/external/folly/folly/hash/detail/ChecksumDetail.h +137 -0
- package/external/folly/folly/hash/detail/Crc32CombineDetail.cpp +191 -0
- package/external/folly/folly/hash/detail/Crc32cDetail.cpp +303 -0
- package/external/folly/folly/hash/test/BUCK +132 -0
- package/external/folly/folly/hash/test/ChecksumBenchmark.cpp +91 -0
- package/external/folly/folly/hash/test/ChecksumTest.cpp +587 -0
- package/external/folly/folly/hash/test/FarmHashTest.cpp +41 -0
- package/external/folly/folly/hash/test/HashBenchmark.cpp +238 -0
- package/external/folly/folly/hash/test/HashTest.cpp +997 -0
- package/external/folly/folly/hash/test/MurmurHashTest.cpp +76 -0
- package/external/folly/folly/hash/test/SpookyHashV1Test.cpp +559 -0
- package/external/folly/folly/hash/test/SpookyHashV2Test.cpp +549 -0
- package/external/folly/folly/hash/test/traits_test.cpp +69 -0
- package/external/folly/folly/hash/traits.h +115 -0
- package/external/folly/folly/json/BUCK +155 -0
- package/external/folly/folly/json/DynamicConverter.h +464 -0
- package/external/folly/folly/json/DynamicParser-inl.h +316 -0
- package/external/folly/folly/json/DynamicParser.cpp +198 -0
- package/external/folly/folly/json/DynamicParser.h +394 -0
- package/external/folly/folly/json/JSONSchema.cpp +1030 -0
- package/external/folly/folly/json/JSONSchema.h +73 -0
- package/external/folly/folly/json/JsonMockUtil.h +73 -0
- package/external/folly/folly/json/JsonTestUtil.cpp +167 -0
- package/external/folly/folly/json/JsonTestUtil.h +88 -0
- package/external/folly/folly/json/bser/BUCK +24 -0
- package/external/folly/folly/json/bser/Bser.h +107 -0
- package/external/folly/folly/json/bser/Dump.cpp +253 -0
- package/external/folly/folly/json/bser/Load.cpp +246 -0
- package/external/folly/folly/json/bser/test/BUCK +14 -0
- package/external/folly/folly/json/bser/test/BserTest.cpp +149 -0
- package/external/folly/folly/json/dynamic.cpp +552 -0
- package/external/folly/folly/json/dynamic.h +1346 -0
- package/external/folly/folly/json/json.h +238 -0
- package/external/folly/folly/json/json_patch.cpp +325 -0
- package/external/folly/folly/json/json_patch.h +126 -0
- package/external/folly/folly/json/json_pointer.cpp +114 -0
- package/external/folly/folly/json/json_pointer.h +87 -0
- package/external/folly/folly/json/test/BUCK +147 -0
- package/external/folly/folly/json/test/DynamicBenchmark.cpp +146 -0
- package/external/folly/folly/json/test/DynamicConverterTest.cpp +518 -0
- package/external/folly/folly/json/test/DynamicOtherTest.cpp +344 -0
- package/external/folly/folly/json/test/DynamicParserTest.cpp +443 -0
- package/external/folly/folly/json/test/DynamicTest.cpp +1647 -0
- package/external/folly/folly/json/test/JSONSchemaTest.cpp +450 -0
- package/external/folly/folly/json/test/JsonBenchmark.cpp +264 -0
- package/external/folly/folly/json/test/JsonOtherTest.cpp +51 -0
- package/external/folly/folly/json/test/JsonTest.cpp +1153 -0
- package/external/folly/folly/json/test/JsonTestUtilTest.cpp +97 -0
- package/external/folly/folly/json/test/json_patch_test.cpp +361 -0
- package/external/folly/folly/json/test/json_pointer_test.cpp +58 -0
- package/external/folly/folly/json/tool/BUCK +13 -0
- package/external/folly/folly/json/tool/JSONSchemaTester.cpp +58 -0
- package/external/folly/folly/json.h +17 -0
- package/external/folly/folly/json_patch.h +17 -0
- package/external/folly/folly/json_pointer.h +17 -0
- package/external/folly/folly/lang/Access.h +29 -0
- package/external/folly/folly/lang/Align.h +240 -0
- package/external/folly/folly/lang/Aligned.h +92 -0
- package/external/folly/folly/lang/Assume.h +82 -0
- package/external/folly/folly/lang/BUCK +287 -0
- package/external/folly/folly/lang/Badge.h +108 -0
- package/external/folly/folly/lang/Bits.h +570 -0
- package/external/folly/folly/lang/BitsClass.h +312 -0
- package/external/folly/folly/lang/Builtin.h +74 -0
- package/external/folly/folly/lang/CArray.h +34 -0
- package/external/folly/folly/lang/CString.cpp +86 -0
- package/external/folly/folly/lang/CString.h +55 -0
- package/external/folly/folly/lang/Cast.h +51 -0
- package/external/folly/folly/lang/CheckedMath.h +253 -0
- package/external/folly/folly/lang/CustomizationPoint.h +58 -0
- package/external/folly/folly/lang/Exception.cpp +822 -0
- package/external/folly/folly/lang/Exception.h +716 -0
- package/external/folly/folly/lang/Extern.h +55 -0
- package/external/folly/folly/lang/Hint-inl.h +144 -0
- package/external/folly/folly/lang/Hint.h +238 -0
- package/external/folly/folly/lang/Keep.h +98 -0
- package/external/folly/folly/lang/New.h +124 -0
- package/external/folly/folly/lang/Ordering.h +140 -0
- package/external/folly/folly/lang/Pretty.h +159 -0
- package/external/folly/folly/lang/PropagateConst.h +413 -0
- package/external/folly/folly/lang/RValueReferenceWrapper.h +152 -0
- package/external/folly/folly/lang/SafeAssert.cpp +589 -0
- package/external/folly/folly/lang/StaticConst.h +33 -0
- package/external/folly/folly/lang/Thunk.h +100 -0
- package/external/folly/folly/lang/TypeInfo.h +58 -0
- package/external/folly/folly/lang/UncaughtExceptions.cpp +17 -0
- package/external/folly/folly/lang/UncaughtExceptions.h +19 -0
- package/external/folly/folly/lang/test/AlignTest.cpp +87 -0
- package/external/folly/folly/lang/test/AlignedTest.cpp +130 -0
- package/external/folly/folly/lang/test/BUCK +258 -0
- package/external/folly/folly/lang/test/BadgeTest.cpp +89 -0
- package/external/folly/folly/lang/test/BitsBenchmark.cpp +164 -0
- package/external/folly/folly/lang/test/BitsClassBenchmark.cpp +122 -0
- package/external/folly/folly/lang/test/BitsClassTest.cpp +379 -0
- package/external/folly/folly/lang/test/BitsTest.cpp +577 -0
- package/external/folly/folly/lang/test/CStringTest.cpp +60 -0
- package/external/folly/folly/lang/test/CastTest.cpp +47 -0
- package/external/folly/folly/lang/test/CheckedMathTest.cpp +394 -0
- package/external/folly/folly/lang/test/ExceptionBench.cpp +427 -0
- package/external/folly/folly/lang/test/ExceptionTest.cpp +413 -0
- package/external/folly/folly/lang/test/ExternTest.cpp +39 -0
- package/external/folly/folly/lang/test/HintTest.cpp +100 -0
- package/external/folly/folly/lang/test/NewTest.cpp +38 -0
- package/external/folly/folly/lang/test/OrderingTest.cpp +105 -0
- package/external/folly/folly/lang/test/PrettyTest.cpp +44 -0
- package/external/folly/folly/lang/test/PropagateConstTest.cpp +356 -0
- package/external/folly/folly/lang/test/RValueReferenceWrapperTest.cpp +85 -0
- package/external/folly/folly/lang/test/SafeAssertTest.cpp +75 -0
- package/external/folly/folly/lang/test/ThunkTest.cpp +105 -0
- package/external/folly/folly/lang/test/ToAsciiBench.cpp +466 -0
- package/external/folly/folly/lang/test/ToAsciiTest.cpp +266 -0
- package/external/folly/folly/lang/test/TypeInfoTest.cpp +56 -0
- package/external/folly/folly/memcpy.S +292 -0
- package/external/folly/folly/memcpy_select_aarch64.cpp +145 -0
- package/external/folly/folly/memory/Arena-inl.h +83 -0
- package/external/folly/folly/memory/Arena.h +325 -0
- package/external/folly/folly/memory/BUCK +191 -0
- package/external/folly/folly/memory/JemallocHugePageAllocator.cpp +449 -0
- package/external/folly/folly/memory/JemallocHugePageAllocator.h +105 -0
- package/external/folly/folly/memory/JemallocHugePageAllocatorTest.cpp +341 -0
- package/external/folly/folly/memory/JemallocNodumpAllocator.cpp +176 -0
- package/external/folly/folly/memory/JemallocNodumpAllocator.h +119 -0
- package/external/folly/folly/memory/JemallocNodumpAllocatorTest.cpp +61 -0
- package/external/folly/folly/memory/MallctlHelper.cpp +37 -0
- package/external/folly/folly/memory/MallctlHelper.h +167 -0
- package/external/folly/folly/memory/Malloc.h +551 -0
- package/external/folly/folly/memory/MemoryResource.h +57 -0
- package/external/folly/folly/memory/ReentrantAllocator.cpp +162 -0
- package/external/folly/folly/memory/ReentrantAllocator.h +261 -0
- package/external/folly/folly/memory/SanitizeAddress.cpp +75 -0
- package/external/folly/folly/memory/SanitizeAddress.h +117 -0
- package/external/folly/folly/memory/SanitizeLeak.cpp +119 -0
- package/external/folly/folly/memory/SanitizeLeak.h +108 -0
- package/external/folly/folly/memory/ThreadCachedArena.cpp +53 -0
- package/external/folly/folly/memory/ThreadCachedArena.h +90 -0
- package/external/folly/folly/memory/UninitializedMemoryHacks.h +426 -0
- package/external/folly/folly/memory/detail/BUCK +10 -0
- package/external/folly/folly/memory/detail/MallocImpl.cpp +52 -0
- package/external/folly/folly/memory/detail/MallocImpl.h +97 -0
- package/external/folly/folly/memory/not_null-inl.h +522 -0
- package/external/folly/folly/memory/not_null.h +449 -0
- package/external/folly/folly/memory/test/ArenaTest.cpp +354 -0
- package/external/folly/folly/memory/test/BUCK +146 -0
- package/external/folly/folly/memory/test/MallctlHelperTest.cpp +169 -0
- package/external/folly/folly/memory/test/MallocBenchmark.cpp +91 -0
- package/external/folly/folly/memory/test/MallocTest.cpp +78 -0
- package/external/folly/folly/memory/test/MemoryResourceTest.cpp +31 -0
- package/external/folly/folly/memory/test/ReentrantAllocatorTest.cpp +144 -0
- package/external/folly/folly/memory/test/SanitizeAddressTest.cpp +67 -0
- package/external/folly/folly/memory/test/SanitizeLeakTest.cpp +139 -0
- package/external/folly/folly/memory/test/ThreadCachedArenaTest.cpp +276 -0
- package/external/folly/folly/memory/test/UninitializedMemoryHacksODR.cpp +21 -0
- package/external/folly/folly/memory/test/UninitializedMemoryHacksTest.cpp +327 -0
- package/external/folly/folly/memory/test/not_null_test.cpp +608 -0
- package/external/folly/folly/memset.S +245 -0
- package/external/folly/folly/memset_select_aarch64.cpp +72 -0
- package/external/folly/folly/portability/Asm.h +50 -0
- package/external/folly/folly/portability/Atomic.h +31 -0
- package/external/folly/folly/portability/BUCK +456 -0
- package/external/folly/folly/portability/Builtins.cpp +31 -0
- package/external/folly/folly/portability/Builtins.h +161 -0
- package/external/folly/folly/portability/Config.h +43 -0
- package/external/folly/folly/portability/Constexpr.h +145 -0
- package/external/folly/folly/portability/Dirent.cpp +140 -0
- package/external/folly/folly/portability/Dirent.h +41 -0
- package/external/folly/folly/portability/Event.h +44 -0
- package/external/folly/folly/portability/Fcntl.cpp +120 -0
- package/external/folly/folly/portability/Fcntl.h +67 -0
- package/external/folly/folly/portability/Filesystem.cpp +67 -0
- package/external/folly/folly/portability/Filesystem.h +114 -0
- package/external/folly/folly/portability/FmtCompile.h +40 -0
- package/external/folly/folly/portability/GFlags.h +139 -0
- package/external/folly/folly/portability/GMock.h +35 -0
- package/external/folly/folly/portability/GTest.h +35 -0
- package/external/folly/folly/portability/IOVec.h +34 -0
- package/external/folly/folly/portability/Libgen.cpp +59 -0
- package/external/folly/folly/portability/Libgen.h +29 -0
- package/external/folly/folly/portability/Libunwind.h +21 -0
- package/external/folly/folly/portability/Malloc.cpp +31 -0
- package/external/folly/folly/portability/Malloc.h +53 -0
- package/external/folly/folly/portability/Math.h +90 -0
- package/external/folly/folly/portability/Memory.h +26 -0
- package/external/folly/folly/portability/OpenSSL.cpp +17 -0
- package/external/folly/folly/portability/OpenSSL.h +102 -0
- package/external/folly/folly/portability/PThread.cpp +697 -0
- package/external/folly/folly/portability/PThread.h +148 -0
- package/external/folly/folly/portability/README.md +21 -0
- package/external/folly/folly/portability/Sched.cpp +41 -0
- package/external/folly/folly/portability/Sched.h +45 -0
- package/external/folly/folly/portability/Sockets.cpp +245 -0
- package/external/folly/folly/portability/Sockets.h +155 -0
- package/external/folly/folly/portability/SourceLocation.h +49 -0
- package/external/folly/folly/portability/Stdio.cpp +77 -0
- package/external/folly/folly/portability/Stdio.h +32 -0
- package/external/folly/folly/portability/Stdlib.cpp +172 -0
- package/external/folly/folly/portability/Stdlib.h +64 -0
- package/external/folly/folly/portability/String.cpp +53 -0
- package/external/folly/folly/portability/String.h +39 -0
- package/external/folly/folly/portability/SysFile.cpp +46 -0
- package/external/folly/folly/portability/SysFile.h +27 -0
- package/external/folly/folly/portability/SysMembarrier.cpp +104 -0
- package/external/folly/folly/portability/SysMembarrier.h +26 -0
- package/external/folly/folly/portability/SysMman.cpp +242 -0
- package/external/folly/folly/portability/SysMman.h +68 -0
- package/external/folly/folly/portability/SysResource.cpp +108 -0
- package/external/folly/folly/portability/SysResource.h +71 -0
- package/external/folly/folly/portability/SysStat.cpp +66 -0
- package/external/folly/folly/portability/SysStat.h +52 -0
- package/external/folly/folly/portability/SysSyscall.h +73 -0
- package/external/folly/folly/portability/SysTime.cpp +62 -0
- package/external/folly/folly/portability/SysTime.h +50 -0
- package/external/folly/folly/portability/SysTypes.h +44 -0
- package/external/folly/folly/portability/SysUio.cpp +179 -0
- package/external/folly/folly/portability/SysUio.h +51 -0
- package/external/folly/folly/portability/Syslog.h +39 -0
- package/external/folly/folly/portability/Time.cpp +357 -0
- package/external/folly/folly/portability/Time.h +74 -0
- package/external/folly/folly/portability/Unistd.h +111 -0
- package/external/folly/folly/portability/Windows.h +108 -0
- package/external/folly/folly/portability/openat2.c +30 -0
- package/external/folly/folly/portability/openat2.h +39 -0
- package/external/folly/folly/portability/test/BUCK +59 -0
- package/external/folly/folly/portability/test/ConstexprTest.cpp +102 -0
- package/external/folly/folly/portability/test/FilesystemTest.cpp +35 -0
- package/external/folly/folly/portability/test/LibgenTest.cpp +35 -0
- package/external/folly/folly/portability/test/OpenSSLPortabilityTest.cpp +108 -0
- package/external/folly/folly/portability/test/PThreadTest.cpp +80 -0
- package/external/folly/folly/portability/test/TimeTest.cpp +90 -0
- package/external/folly/folly/small_vector.h +17 -0
- package/external/folly/folly/somerge_defs.bzl +399 -0
- package/external/folly/folly/sorted_vector_types.h +17 -0
- package/external/folly/folly/stop_watch.h +317 -0
- package/external/folly/folly/synchronization/AsymmetricThreadFence.cpp +91 -0
- package/external/folly/folly/synchronization/AsymmetricThreadFence.h +60 -0
- package/external/folly/folly/synchronization/AtomicNotification-inl.h +146 -0
- package/external/folly/folly/synchronization/AtomicNotification.cpp +34 -0
- package/external/folly/folly/synchronization/AtomicNotification.h +117 -0
- package/external/folly/folly/synchronization/AtomicRef.h +181 -0
- package/external/folly/folly/synchronization/AtomicStruct.h +150 -0
- package/external/folly/folly/synchronization/AtomicUtil-inl.h +482 -0
- package/external/folly/folly/synchronization/AtomicUtil.h +179 -0
- package/external/folly/folly/synchronization/BUCK +418 -0
- package/external/folly/folly/synchronization/Baton.h +419 -0
- package/external/folly/folly/synchronization/CallOnce.h +263 -0
- package/external/folly/folly/synchronization/DelayedInit.h +179 -0
- package/external/folly/folly/synchronization/DistributedMutex-inl.h +1744 -0
- package/external/folly/folly/synchronization/DistributedMutex.cpp +27 -0
- package/external/folly/folly/synchronization/DistributedMutex.h +342 -0
- package/external/folly/folly/synchronization/EventCount.h +200 -0
- package/external/folly/folly/synchronization/FlatCombining.h +629 -0
- package/external/folly/folly/synchronization/Hazptr-fwd.h +217 -0
- package/external/folly/folly/synchronization/Hazptr.cpp +36 -0
- package/external/folly/folly/synchronization/Hazptr.h +209 -0
- package/external/folly/folly/synchronization/HazptrDomain.cpp +68 -0
- package/external/folly/folly/synchronization/HazptrDomain.h +832 -0
- package/external/folly/folly/synchronization/HazptrHolder.h +431 -0
- package/external/folly/folly/synchronization/HazptrObj.h +533 -0
- package/external/folly/folly/synchronization/HazptrObjLinked.h +315 -0
- package/external/folly/folly/synchronization/HazptrRec.h +68 -0
- package/external/folly/folly/synchronization/HazptrThrLocal.h +180 -0
- package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.cpp +46 -0
- package/external/folly/folly/synchronization/HazptrThreadPoolExecutor.h +25 -0
- package/external/folly/folly/synchronization/Latch.h +160 -0
- package/external/folly/folly/synchronization/LifoSem.h +767 -0
- package/external/folly/folly/synchronization/Lock.h +887 -0
- package/external/folly/folly/synchronization/MicroSpinLock.h +154 -0
- package/external/folly/folly/synchronization/NativeSemaphore.h +187 -0
- package/external/folly/folly/synchronization/ParkingLot.cpp +37 -0
- package/external/folly/folly/synchronization/ParkingLot.h +330 -0
- package/external/folly/folly/synchronization/PicoSpinLock.h +167 -0
- package/external/folly/folly/synchronization/RWSpinLock.h +549 -0
- package/external/folly/folly/synchronization/Rcu.cpp +26 -0
- package/external/folly/folly/synchronization/Rcu.h +553 -0
- package/external/folly/folly/synchronization/RelaxedAtomic.h +336 -0
- package/external/folly/folly/synchronization/SanitizeThread.cpp +141 -0
- package/external/folly/folly/synchronization/SanitizeThread.h +166 -0
- package/external/folly/folly/synchronization/SaturatingSemaphore.h +324 -0
- package/external/folly/folly/synchronization/SmallLocks.h +36 -0
- package/external/folly/folly/synchronization/ThrottledLifoSem.h +362 -0
- package/external/folly/folly/synchronization/WaitOptions.cpp +25 -0
- package/external/folly/folly/synchronization/WaitOptions.h +75 -0
- package/external/folly/folly/synchronization/detail/AtomicUtils.h +59 -0
- package/external/folly/folly/synchronization/detail/BUCK +104 -0
- package/external/folly/folly/synchronization/detail/Hardware.cpp +192 -0
- package/external/folly/folly/synchronization/detail/Hardware.h +75 -0
- package/external/folly/folly/synchronization/detail/HazptrUtils.h +339 -0
- package/external/folly/folly/synchronization/detail/InlineFunctionRef.h +229 -0
- package/external/folly/folly/synchronization/detail/Sleeper.cpp +27 -0
- package/external/folly/folly/synchronization/detail/Sleeper.h +62 -0
- package/external/folly/folly/synchronization/detail/Spin.h +96 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedLists.h +174 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedReaders.h +189 -0
- package/external/folly/folly/synchronization/detail/ThreadCachedTag.h +26 -0
- package/external/folly/folly/synchronization/detail/test/BUCK +28 -0
- package/external/folly/folly/synchronization/detail/test/HardwareTest.cpp +74 -0
- package/external/folly/folly/synchronization/detail/test/InlineFunctionRefTest.cpp +286 -0
- package/external/folly/folly/synchronization/example/BUCK +27 -0
- package/external/folly/folly/synchronization/example/HazptrLockFreeLIFO.h +88 -0
- package/external/folly/folly/synchronization/example/HazptrSWMRSet.h +133 -0
- package/external/folly/folly/synchronization/example/HazptrWideCAS.h +62 -0
- package/external/folly/folly/synchronization/test/AtomicNotificationTest.cpp +236 -0
- package/external/folly/folly/synchronization/test/AtomicRefTest.cpp +170 -0
- package/external/folly/folly/synchronization/test/AtomicStructTest.cpp +65 -0
- package/external/folly/folly/synchronization/test/AtomicUtilBench.cpp +457 -0
- package/external/folly/folly/synchronization/test/AtomicUtilTest.cpp +650 -0
- package/external/folly/folly/synchronization/test/BUCK +495 -0
- package/external/folly/folly/synchronization/test/Barrier.h +52 -0
- package/external/folly/folly/synchronization/test/BarrierTest.cpp +56 -0
- package/external/folly/folly/synchronization/test/BatonBenchmark.cpp +77 -0
- package/external/folly/folly/synchronization/test/BatonTest.cpp +164 -0
- package/external/folly/folly/synchronization/test/BatonTestHelpers.h +118 -0
- package/external/folly/folly/synchronization/test/CallOnceBenchmark.cpp +72 -0
- package/external/folly/folly/synchronization/test/CallOnceTest.cpp +153 -0
- package/external/folly/folly/synchronization/test/DelayedInitTest.cpp +281 -0
- package/external/folly/folly/synchronization/test/DistributedMutexTest.cpp +2074 -0
- package/external/folly/folly/synchronization/test/EventCountTest.cpp +124 -0
- package/external/folly/folly/synchronization/test/FlatCombiningBenchmark.cpp +1789 -0
- package/external/folly/folly/synchronization/test/FlatCombiningExamples.h +222 -0
- package/external/folly/folly/synchronization/test/FlatCombiningTest.cpp +121 -0
- package/external/folly/folly/synchronization/test/FlatCombiningTestHelpers.h +227 -0
- package/external/folly/folly/synchronization/test/HazptrTest.cpp +1689 -0
- package/external/folly/folly/synchronization/test/LatchTest.cpp +224 -0
- package/external/folly/folly/synchronization/test/LifoSemBench.cpp +185 -0
- package/external/folly/folly/synchronization/test/LifoSemTests.cpp +353 -0
- package/external/folly/folly/synchronization/test/LockTest.cpp +1239 -0
- package/external/folly/folly/synchronization/test/NativeSemaphoreTest.cpp +37 -0
- package/external/folly/folly/synchronization/test/ParkingLotBenchmark.cpp +239 -0
- package/external/folly/folly/synchronization/test/ParkingLotTest.cpp +170 -0
- package/external/folly/folly/synchronization/test/RWSpinLockTest.cpp +235 -0
- package/external/folly/folly/synchronization/test/RcuBench.cpp +66 -0
- package/external/folly/folly/synchronization/test/RcuTest.cpp +330 -0
- package/external/folly/folly/synchronization/test/RelaxedAtomicTest.cpp +389 -0
- package/external/folly/folly/synchronization/test/SaturatingSemaphoreTest.cpp +166 -0
- package/external/folly/folly/synchronization/test/Semaphore.h +242 -0
- package/external/folly/folly/synchronization/test/SemaphoreTest.cpp +271 -0
- package/external/folly/folly/synchronization/test/SmallLocksBenchmark.cpp +1296 -0
- package/external/folly/folly/synchronization/test/SmallLocksTest.cpp +510 -0
- package/external/folly/folly/synchronization/test/ThreadCachedEpochBench.h +67 -0
- package/external/folly/folly/synchronization/test/ThreadCachedReadersBench.cpp +42 -0
- package/external/folly/folly/synchronization/test/ThreadCachedReadersTest.cpp +52 -0
- package/external/folly/folly/synchronization/test/ThrottledLifoSemTest.cpp +243 -0
- package/external/folly/folly/system/AtFork.cpp +205 -0
- package/external/folly/folly/system/AtFork.h +116 -0
- package/external/folly/folly/system/AuxVector.h +198 -0
- package/external/folly/folly/system/BUCK +144 -0
- package/external/folly/folly/system/EnvUtil.cpp +93 -0
- package/external/folly/folly/system/EnvUtil.h +113 -0
- package/external/folly/folly/system/HardwareConcurrency.cpp +39 -0
- package/external/folly/folly/system/HardwareConcurrency.h +23 -0
- package/external/folly/folly/system/MemoryMapping.cpp +477 -0
- package/external/folly/folly/system/MemoryMapping.h +287 -0
- package/external/folly/folly/system/Pid.cpp +87 -0
- package/external/folly/folly/system/Pid.h +34 -0
- package/external/folly/folly/system/Shell.cpp +33 -0
- package/external/folly/folly/system/Shell.h +93 -0
- package/external/folly/folly/system/ThreadId.cpp +89 -0
- package/external/folly/folly/system/ThreadId.h +62 -0
- package/external/folly/folly/system/ThreadName.cpp +330 -0
- package/external/folly/folly/system/ThreadName.h +72 -0
- package/external/folly/folly/system/test/AtForkTest.cpp +309 -0
- package/external/folly/folly/system/test/AuxVectorTest.cpp +55 -0
- package/external/folly/folly/system/test/BUCK +120 -0
- package/external/folly/folly/system/test/EnvUtilSubprocess.cpp +26 -0
- package/external/folly/folly/system/test/EnvUtilTest.cpp +197 -0
- package/external/folly/folly/system/test/MemoryMappingTest.cpp +179 -0
- package/external/folly/folly/system/test/PidTest.cpp +46 -0
- package/external/folly/folly/system/test/ShellTest.cpp +66 -0
- package/external/folly/folly/system/test/ThreadIdTest.cpp +114 -0
- package/external/folly/folly/system/test/ThreadNameTest.cpp +85 -0
- package/external/folly/folly.vcxitems +164 -0
- package/external/folly/static/logo.svg +1 -0
- package/external/folly/sync-config.json +8 -0
- package/package.json +3 -3
- package/template/cpp-app/proj/MyApp.sln +0 -33
- package/template/cpp-lib/proj/MyLib.sln +0 -33
- package/template/cs-app/proj/MyApp.sln +0 -33
- package/template/cs-lib/proj/MyLib.sln +0 -33
- package/templates/cpp-app/windows/MyApp.sln +0 -33
- package/templates/cpp-lib/example/metro.config.js +31 -6
- package/templates/cpp-lib/windows/MyLib.sln +0 -33
- package/Folly/Folly.vcxproj +0 -383
- package/Folly/Folly.vcxproj.filters +0 -558
- package/Folly/Folly.win32.vcxproj +0 -11
- package/Folly/packages.lock.win32.json +0 -20
- package/Scripts/Warm-RnwFeedCache.ps1 +0 -413
- package/fmt/fmt.vcxproj +0 -163
- package/fmt/fmt.vcxproj.filters +0 -59
- package/fmt/fmt.win32.vcxproj +0 -10
- package/fmt/pch.cpp +0 -4
- package/fmt/pch.h +0 -2
- /package/{Folly → external/folly}/Folly.natvis +0 -0
- /package/{Folly → external/folly}/cgmanifest.json +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/ConstexprMath.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/Conv.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/chrono/Hardware.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/concurrency/CacheLocality.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/dynamic-inl.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/json/json.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/SafeAssert.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.cpp +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/lang/ToAscii.h +0 -0
- /package/{Folly/TEMP_UntilFollyUpdate → external/folly/folly}/portability/Unistd.cpp +0 -0
|
@@ -0,0 +1,43 @@
|
|
|
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
|
+
#include <typeinfo>
|
|
21
|
+
|
|
22
|
+
#include <folly/CPortability.h>
|
|
23
|
+
|
|
24
|
+
namespace folly {
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Exception type that is thrown on invalid access of an empty `Poly` object.
|
|
28
|
+
*/
|
|
29
|
+
struct FOLLY_EXPORT BadPolyAccess : std::exception {
|
|
30
|
+
BadPolyAccess() = default;
|
|
31
|
+
char const* what() const noexcept override { return "BadPolyAccess"; }
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Exception type that is thrown when attempting to extract from a `Poly` a
|
|
36
|
+
* value of the wrong type.
|
|
37
|
+
*/
|
|
38
|
+
struct FOLLY_EXPORT BadPolyCast : std::bad_cast {
|
|
39
|
+
BadPolyCast() = default;
|
|
40
|
+
char const* what() const noexcept override { return "BadPolyCast"; }
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
} // namespace folly
|
|
@@ -0,0 +1,644 @@
|
|
|
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 <cstddef>
|
|
20
|
+
|
|
21
|
+
#include <folly/CPortability.h>
|
|
22
|
+
#include <folly/portability/Config.h>
|
|
23
|
+
|
|
24
|
+
#if defined(_MSC_VER)
|
|
25
|
+
#define FOLLY_CPLUSPLUS _MSVC_LANG
|
|
26
|
+
#else
|
|
27
|
+
#define FOLLY_CPLUSPLUS __cplusplus
|
|
28
|
+
#endif
|
|
29
|
+
|
|
30
|
+
// On MSVC an incorrect <version> header get's picked up
|
|
31
|
+
#if !defined(_MSC_VER) && __has_include(<version>)
|
|
32
|
+
#include <version>
|
|
33
|
+
#endif
|
|
34
|
+
|
|
35
|
+
static_assert(FOLLY_CPLUSPLUS >= 201703L, "__cplusplus >= 201703L");
|
|
36
|
+
|
|
37
|
+
#if defined(__GNUC__) && !defined(__clang__)
|
|
38
|
+
#if defined(FOLLY_CONFIG_TEMPORARY_DOWNGRADE_GCC)
|
|
39
|
+
static_assert(__GNUC__ >= 9, "__GNUC__ >= 9");
|
|
40
|
+
#else
|
|
41
|
+
static_assert(__GNUC__ >= 10, "__GNUC__ >= 10");
|
|
42
|
+
#endif
|
|
43
|
+
#endif
|
|
44
|
+
|
|
45
|
+
#if defined(_MSC_VER)
|
|
46
|
+
static_assert(_MSC_VER >= 1920);
|
|
47
|
+
#endif
|
|
48
|
+
|
|
49
|
+
#if defined(_MSC_VER) || defined(_CPPLIB_VER)
|
|
50
|
+
static_assert(FOLLY_CPLUSPLUS >= 201703L, "__cplusplus >= 201703L");
|
|
51
|
+
#endif
|
|
52
|
+
|
|
53
|
+
// Unaligned loads and stores
|
|
54
|
+
namespace folly {
|
|
55
|
+
#if defined(FOLLY_HAVE_UNALIGNED_ACCESS) && FOLLY_HAVE_UNALIGNED_ACCESS
|
|
56
|
+
constexpr bool kHasUnalignedAccess = true;
|
|
57
|
+
#else
|
|
58
|
+
constexpr bool kHasUnalignedAccess = false;
|
|
59
|
+
#endif
|
|
60
|
+
} // namespace folly
|
|
61
|
+
|
|
62
|
+
// compiler specific attribute translation
|
|
63
|
+
// msvc should come first, so if clang is in msvc mode it gets the right defines
|
|
64
|
+
|
|
65
|
+
// NOTE: this will only do checking in msvc with versions that support /analyze
|
|
66
|
+
#ifdef _MSC_VER
|
|
67
|
+
#ifdef _USE_ATTRIBUTES_FOR_SAL
|
|
68
|
+
#undef _USE_ATTRIBUTES_FOR_SAL
|
|
69
|
+
#endif
|
|
70
|
+
/* nolint */
|
|
71
|
+
#define _USE_ATTRIBUTES_FOR_SAL 1
|
|
72
|
+
#include <sal.h> // @manual
|
|
73
|
+
#define FOLLY_PRINTF_FORMAT _Printf_format_string_
|
|
74
|
+
#define FOLLY_PRINTF_FORMAT_ATTR(format_param, dots_param) /**/
|
|
75
|
+
#else
|
|
76
|
+
#define FOLLY_PRINTF_FORMAT /**/
|
|
77
|
+
#define FOLLY_PRINTF_FORMAT_ATTR(format_param, dots_param) \
|
|
78
|
+
__attribute__((__format__(__printf__, format_param, dots_param)))
|
|
79
|
+
#endif
|
|
80
|
+
|
|
81
|
+
// warn unused result
|
|
82
|
+
#if defined(__has_cpp_attribute)
|
|
83
|
+
#if __has_cpp_attribute(nodiscard)
|
|
84
|
+
#if defined(__clang__) || defined(__GNUC__)
|
|
85
|
+
#if __clang_major__ >= 10 || __GNUC__ >= 10
|
|
86
|
+
// early clang and gcc both warn on [[nodiscard]] when applied to class ctors
|
|
87
|
+
// easiest option is just to avoid emitting [[nodiscard]] under early clang/gcc
|
|
88
|
+
#define FOLLY_NODISCARD [[nodiscard]]
|
|
89
|
+
#endif
|
|
90
|
+
#endif
|
|
91
|
+
#endif
|
|
92
|
+
#endif
|
|
93
|
+
#ifndef FOLLY_NODISCARD
|
|
94
|
+
#define FOLLY_NODISCARD
|
|
95
|
+
#endif
|
|
96
|
+
|
|
97
|
+
// older clang-format gets confused by [[deprecated(...)]] on class decls
|
|
98
|
+
#define FOLLY_DEPRECATED(...) [[deprecated(__VA_ARGS__)]]
|
|
99
|
+
|
|
100
|
+
// target
|
|
101
|
+
#ifdef _MSC_VER
|
|
102
|
+
#define FOLLY_TARGET_ATTRIBUTE(target)
|
|
103
|
+
#else
|
|
104
|
+
#define FOLLY_TARGET_ATTRIBUTE(target) __attribute__((__target__(target)))
|
|
105
|
+
#endif
|
|
106
|
+
|
|
107
|
+
// detection for 64 bit
|
|
108
|
+
#if defined(__x86_64__) || defined(_M_X64)
|
|
109
|
+
#define FOLLY_X64 1
|
|
110
|
+
#else
|
|
111
|
+
#define FOLLY_X64 0
|
|
112
|
+
#endif
|
|
113
|
+
|
|
114
|
+
#if defined(__arm__)
|
|
115
|
+
#define FOLLY_ARM 1
|
|
116
|
+
#else
|
|
117
|
+
#define FOLLY_ARM 0
|
|
118
|
+
#endif
|
|
119
|
+
|
|
120
|
+
#if defined(__aarch64__)
|
|
121
|
+
#define FOLLY_AARCH64 1
|
|
122
|
+
#else
|
|
123
|
+
#define FOLLY_AARCH64 0
|
|
124
|
+
#endif
|
|
125
|
+
|
|
126
|
+
#if defined(__powerpc64__)
|
|
127
|
+
#define FOLLY_PPC64 1
|
|
128
|
+
#else
|
|
129
|
+
#define FOLLY_PPC64 0
|
|
130
|
+
#endif
|
|
131
|
+
|
|
132
|
+
#if defined(__s390x__)
|
|
133
|
+
#define FOLLY_S390X 1
|
|
134
|
+
#else
|
|
135
|
+
#define FOLLY_S390X 0
|
|
136
|
+
#endif
|
|
137
|
+
|
|
138
|
+
#if defined(__riscv)
|
|
139
|
+
#define FOLLY_RISCV64 1
|
|
140
|
+
#else
|
|
141
|
+
#define FOLLY_RISCV64 0
|
|
142
|
+
#endif
|
|
143
|
+
|
|
144
|
+
namespace folly {
|
|
145
|
+
constexpr bool kIsArchArm = FOLLY_ARM == 1;
|
|
146
|
+
constexpr bool kIsArchAmd64 = FOLLY_X64 == 1;
|
|
147
|
+
constexpr bool kIsArchAArch64 = FOLLY_AARCH64 == 1;
|
|
148
|
+
constexpr bool kIsArchPPC64 = FOLLY_PPC64 == 1;
|
|
149
|
+
constexpr bool kIsArchS390X = FOLLY_S390X == 1;
|
|
150
|
+
constexpr bool kIsArchRISCV64 = FOLLY_RISCV64 == 1;
|
|
151
|
+
} // namespace folly
|
|
152
|
+
|
|
153
|
+
namespace folly {
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* folly::kIsLibrarySanitizeAddress reports if folly was compiled with ASAN
|
|
157
|
+
* enabled. Note that for compilation units outside of folly that include
|
|
158
|
+
* folly/Portability.h, the value of kIsLibrarySanitizeAddress may be different
|
|
159
|
+
* from whether or not the current compilation unit is being compiled with ASAN.
|
|
160
|
+
*/
|
|
161
|
+
#if FOLLY_LIBRARY_SANITIZE_ADDRESS
|
|
162
|
+
constexpr bool kIsLibrarySanitizeAddress = true;
|
|
163
|
+
#else
|
|
164
|
+
constexpr bool kIsLibrarySanitizeAddress = false;
|
|
165
|
+
#endif
|
|
166
|
+
|
|
167
|
+
#ifdef FOLLY_SANITIZE_ADDRESS
|
|
168
|
+
constexpr bool kIsSanitizeAddress = true;
|
|
169
|
+
#else
|
|
170
|
+
constexpr bool kIsSanitizeAddress = false;
|
|
171
|
+
#endif
|
|
172
|
+
|
|
173
|
+
#ifdef FOLLY_SANITIZE_THREAD
|
|
174
|
+
constexpr bool kIsSanitizeThread = true;
|
|
175
|
+
#else
|
|
176
|
+
constexpr bool kIsSanitizeThread = false;
|
|
177
|
+
#endif
|
|
178
|
+
|
|
179
|
+
#ifdef FOLLY_SANITIZE_DATAFLOW
|
|
180
|
+
constexpr bool kIsSanitizeDataflow = true;
|
|
181
|
+
#else
|
|
182
|
+
constexpr bool kIsSanitizeDataflow = false;
|
|
183
|
+
#endif
|
|
184
|
+
|
|
185
|
+
#ifdef FOLLY_SANITIZE
|
|
186
|
+
constexpr bool kIsSanitize = true;
|
|
187
|
+
#else
|
|
188
|
+
constexpr bool kIsSanitize = false;
|
|
189
|
+
#endif
|
|
190
|
+
|
|
191
|
+
#if defined(__OPTIMIZE__)
|
|
192
|
+
constexpr bool kIsOptimize = true;
|
|
193
|
+
#else
|
|
194
|
+
constexpr bool kIsOptimize = false;
|
|
195
|
+
#endif
|
|
196
|
+
|
|
197
|
+
#if defined(__OPTIMIZE_SIZE__)
|
|
198
|
+
constexpr bool kIsOptimizeSize = true;
|
|
199
|
+
#else
|
|
200
|
+
constexpr bool kIsOptimizeSize = false;
|
|
201
|
+
#endif
|
|
202
|
+
} // namespace folly
|
|
203
|
+
|
|
204
|
+
// packing is very ugly in msvc
|
|
205
|
+
#ifdef _MSC_VER
|
|
206
|
+
#define FOLLY_PACK_ATTR /**/
|
|
207
|
+
#define FOLLY_PACK_PUSH __pragma(pack(push, 1))
|
|
208
|
+
#define FOLLY_PACK_POP __pragma(pack(pop))
|
|
209
|
+
#elif defined(__GNUC__)
|
|
210
|
+
#define FOLLY_PACK_ATTR __attribute__((__packed__))
|
|
211
|
+
#define FOLLY_PACK_PUSH /**/
|
|
212
|
+
#define FOLLY_PACK_POP /**/
|
|
213
|
+
#else
|
|
214
|
+
#define FOLLY_PACK_ATTR /**/
|
|
215
|
+
#define FOLLY_PACK_PUSH /**/
|
|
216
|
+
#define FOLLY_PACK_POP /**/
|
|
217
|
+
#endif
|
|
218
|
+
|
|
219
|
+
// It turns out that GNU libstdc++ and LLVM libc++ differ on how they implement
|
|
220
|
+
// the 'std' namespace; the latter uses inline namespaces. Wrap this decision
|
|
221
|
+
// up in a macro to make forward-declarations easier.
|
|
222
|
+
#if defined(_LIBCPP_VERSION)
|
|
223
|
+
#define FOLLY_NAMESPACE_STD_BEGIN _LIBCPP_BEGIN_NAMESPACE_STD
|
|
224
|
+
#define FOLLY_NAMESPACE_STD_END _LIBCPP_END_NAMESPACE_STD
|
|
225
|
+
#else
|
|
226
|
+
#define FOLLY_NAMESPACE_STD_BEGIN namespace std {
|
|
227
|
+
#define FOLLY_NAMESPACE_STD_END }
|
|
228
|
+
#endif
|
|
229
|
+
|
|
230
|
+
// If the new c++ ABI is used, __cxx11 inline namespace needs to be added to
|
|
231
|
+
// some types, e.g. std::list.
|
|
232
|
+
#if defined(_GLIBCXX_USE_CXX11_ABI) && _GLIBCXX_USE_CXX11_ABI
|
|
233
|
+
#define FOLLY_GLIBCXX_NAMESPACE_CXX11_BEGIN \
|
|
234
|
+
inline _GLIBCXX_BEGIN_NAMESPACE_CXX11
|
|
235
|
+
#define FOLLY_GLIBCXX_NAMESPACE_CXX11_END _GLIBCXX_END_NAMESPACE_CXX11
|
|
236
|
+
#else
|
|
237
|
+
#define FOLLY_GLIBCXX_NAMESPACE_CXX11_BEGIN
|
|
238
|
+
#define FOLLY_GLIBCXX_NAMESPACE_CXX11_END
|
|
239
|
+
#endif
|
|
240
|
+
|
|
241
|
+
// MSVC specific defines
|
|
242
|
+
// mainly for posix compat
|
|
243
|
+
#ifdef _MSC_VER
|
|
244
|
+
|
|
245
|
+
// We have compiler support for the newest of the new, but
|
|
246
|
+
// MSVC doesn't tell us that.
|
|
247
|
+
//
|
|
248
|
+
// Clang pretends to be MSVC on Windows, but it refuses to compile
|
|
249
|
+
// SSE4.2 intrinsics unless -march argument is specified.
|
|
250
|
+
// So cannot unconditionally define __SSE4_2__ in clang.
|
|
251
|
+
#ifndef __clang__
|
|
252
|
+
#if !defined(_M_ARM) && !defined(_M_ARM64)
|
|
253
|
+
#define __SSE4_2__ 1
|
|
254
|
+
#endif // !defined(_M_ARM) && !defined(_M_ARM64)
|
|
255
|
+
|
|
256
|
+
// Hide a GCC specific thing that breaks MSVC if left alone.
|
|
257
|
+
#define __extension__
|
|
258
|
+
|
|
259
|
+
// compiler specific to compiler specific
|
|
260
|
+
// nolint
|
|
261
|
+
#define __PRETTY_FUNCTION__ __FUNCSIG__
|
|
262
|
+
#endif
|
|
263
|
+
|
|
264
|
+
#endif
|
|
265
|
+
|
|
266
|
+
// Define FOLLY_HAS_EXCEPTIONS
|
|
267
|
+
#if (defined(__cpp_exceptions) && __cpp_exceptions >= 199711) || \
|
|
268
|
+
FOLLY_HAS_FEATURE(cxx_exceptions)
|
|
269
|
+
#define FOLLY_HAS_EXCEPTIONS 1
|
|
270
|
+
#elif __GNUC__
|
|
271
|
+
#if defined(__EXCEPTIONS) && __EXCEPTIONS
|
|
272
|
+
#define FOLLY_HAS_EXCEPTIONS 1
|
|
273
|
+
#else // __EXCEPTIONS
|
|
274
|
+
#define FOLLY_HAS_EXCEPTIONS 0
|
|
275
|
+
#endif // __EXCEPTIONS
|
|
276
|
+
#elif FOLLY_MICROSOFT_ABI_VER
|
|
277
|
+
#if _CPPUNWIND
|
|
278
|
+
#define FOLLY_HAS_EXCEPTIONS 1
|
|
279
|
+
#else // _CPPUNWIND
|
|
280
|
+
#define FOLLY_HAS_EXCEPTIONS 0
|
|
281
|
+
#endif // _CPPUNWIND
|
|
282
|
+
#else
|
|
283
|
+
#define FOLLY_HAS_EXCEPTIONS 1 // default assumption for unknown platforms
|
|
284
|
+
#endif
|
|
285
|
+
|
|
286
|
+
// Debug
|
|
287
|
+
namespace folly {
|
|
288
|
+
#ifdef NDEBUG
|
|
289
|
+
constexpr auto kIsDebug = false;
|
|
290
|
+
#else
|
|
291
|
+
constexpr auto kIsDebug = true;
|
|
292
|
+
#endif
|
|
293
|
+
} // namespace folly
|
|
294
|
+
|
|
295
|
+
// Exceptions
|
|
296
|
+
namespace folly {
|
|
297
|
+
#if FOLLY_HAS_EXCEPTIONS
|
|
298
|
+
constexpr auto kHasExceptions = true;
|
|
299
|
+
#else
|
|
300
|
+
constexpr auto kHasExceptions = false;
|
|
301
|
+
#endif
|
|
302
|
+
} // namespace folly
|
|
303
|
+
|
|
304
|
+
// Endianness
|
|
305
|
+
namespace folly {
|
|
306
|
+
#ifdef _MSC_VER
|
|
307
|
+
// It's MSVC, so we just have to guess ... and allow an override
|
|
308
|
+
#ifdef FOLLY_ENDIAN_BE
|
|
309
|
+
constexpr auto kIsLittleEndian = false;
|
|
310
|
+
#else
|
|
311
|
+
constexpr auto kIsLittleEndian = true;
|
|
312
|
+
#endif
|
|
313
|
+
#else
|
|
314
|
+
constexpr auto kIsLittleEndian = __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__;
|
|
315
|
+
#endif
|
|
316
|
+
constexpr auto kIsBigEndian = !kIsLittleEndian;
|
|
317
|
+
} // namespace folly
|
|
318
|
+
|
|
319
|
+
// Weak
|
|
320
|
+
namespace folly {
|
|
321
|
+
#if FOLLY_HAVE_WEAK_SYMBOLS
|
|
322
|
+
constexpr auto kHasWeakSymbols = true;
|
|
323
|
+
#else
|
|
324
|
+
constexpr auto kHasWeakSymbols = false;
|
|
325
|
+
#endif
|
|
326
|
+
} // namespace folly
|
|
327
|
+
|
|
328
|
+
#ifndef FOLLY_SSE
|
|
329
|
+
#if defined(__SSE4_2__)
|
|
330
|
+
#define FOLLY_SSE 4
|
|
331
|
+
#define FOLLY_SSE_MINOR 2
|
|
332
|
+
#elif defined(__SSE4_1__)
|
|
333
|
+
#define FOLLY_SSE 4
|
|
334
|
+
#define FOLLY_SSE_MINOR 1
|
|
335
|
+
#elif defined(__SSE4__)
|
|
336
|
+
#define FOLLY_SSE 4
|
|
337
|
+
#define FOLLY_SSE_MINOR 0
|
|
338
|
+
#elif defined(__SSE3__)
|
|
339
|
+
#define FOLLY_SSE 3
|
|
340
|
+
#define FOLLY_SSE_MINOR 0
|
|
341
|
+
#elif defined(__SSE2__)
|
|
342
|
+
#define FOLLY_SSE 2
|
|
343
|
+
#define FOLLY_SSE_MINOR 0
|
|
344
|
+
#elif defined(__SSE__)
|
|
345
|
+
#define FOLLY_SSE 1
|
|
346
|
+
#define FOLLY_SSE_MINOR 0
|
|
347
|
+
#else
|
|
348
|
+
#define FOLLY_SSE 0
|
|
349
|
+
#define FOLLY_SSE_MINOR 0
|
|
350
|
+
#endif
|
|
351
|
+
#endif
|
|
352
|
+
|
|
353
|
+
#ifndef FOLLY_SSSE
|
|
354
|
+
#if defined(__SSSE3__)
|
|
355
|
+
#define FOLLY_SSSE 3
|
|
356
|
+
#else
|
|
357
|
+
#define FOLLY_SSSE 0
|
|
358
|
+
#endif
|
|
359
|
+
#endif
|
|
360
|
+
|
|
361
|
+
#define FOLLY_SSE_PREREQ(major, minor) \
|
|
362
|
+
(FOLLY_SSE > major || FOLLY_SSE == major && FOLLY_SSE_MINOR >= minor)
|
|
363
|
+
|
|
364
|
+
#ifndef FOLLY_NEON
|
|
365
|
+
#if (defined(__ARM_NEON) || defined(__ARM_NEON__)) && !defined(__CUDACC__)
|
|
366
|
+
#define FOLLY_NEON 1
|
|
367
|
+
#else
|
|
368
|
+
#define FOLLY_NEON 0
|
|
369
|
+
#endif
|
|
370
|
+
#endif
|
|
371
|
+
|
|
372
|
+
#ifndef FOLLY_ARM_FEATURE_CRC32
|
|
373
|
+
#ifdef __ARM_FEATURE_CRC32
|
|
374
|
+
#define FOLLY_ARM_FEATURE_CRC32 1
|
|
375
|
+
#else
|
|
376
|
+
#define FOLLY_ARM_FEATURE_CRC32 0
|
|
377
|
+
#endif
|
|
378
|
+
#endif
|
|
379
|
+
|
|
380
|
+
#ifndef FOLLY_ARM_FEATURE_CRYPTO
|
|
381
|
+
#ifdef __ARM_FEATURE_CRYPTO
|
|
382
|
+
#define FOLLY_ARM_FEATURE_CRYPTO 1
|
|
383
|
+
#else
|
|
384
|
+
#define FOLLY_ARM_FEATURE_CRYPTO 0
|
|
385
|
+
#endif
|
|
386
|
+
#endif
|
|
387
|
+
|
|
388
|
+
#ifndef FOLLY_ARM_FEATURE_AES
|
|
389
|
+
#ifdef __ARM_FEATURE_AES
|
|
390
|
+
#define FOLLY_ARM_FEATURE_AES 1
|
|
391
|
+
#else
|
|
392
|
+
#define FOLLY_ARM_FEATURE_AES 0
|
|
393
|
+
#endif
|
|
394
|
+
#endif
|
|
395
|
+
|
|
396
|
+
#ifndef FOLLY_ARM_FEATURE_SHA2
|
|
397
|
+
#ifdef __ARM_FEATURE_SHA2
|
|
398
|
+
#define FOLLY_ARM_FEATURE_SHA2 1
|
|
399
|
+
#else
|
|
400
|
+
#define FOLLY_ARM_FEATURE_SHA2 0
|
|
401
|
+
#endif
|
|
402
|
+
#endif
|
|
403
|
+
|
|
404
|
+
#ifndef FOLLY_ARM_FEATURE_SHA3
|
|
405
|
+
#ifdef __ARM_FEATURE_SHA3
|
|
406
|
+
#define FOLLY_ARM_FEATURE_SHA3 1
|
|
407
|
+
#else
|
|
408
|
+
#define FOLLY_ARM_FEATURE_SHA3 0
|
|
409
|
+
#endif
|
|
410
|
+
#endif
|
|
411
|
+
|
|
412
|
+
// RTTI may not be enabled for this compilation unit.
|
|
413
|
+
#if defined(__GXX_RTTI) || defined(__cpp_rtti) || \
|
|
414
|
+
(defined(_MSC_VER) && defined(_CPPRTTI))
|
|
415
|
+
#define FOLLY_HAS_RTTI 1
|
|
416
|
+
#else
|
|
417
|
+
#define FOLLY_HAS_RTTI 0
|
|
418
|
+
#endif
|
|
419
|
+
|
|
420
|
+
namespace folly {
|
|
421
|
+
constexpr bool const kHasRtti = FOLLY_HAS_RTTI;
|
|
422
|
+
} // namespace folly
|
|
423
|
+
|
|
424
|
+
#if defined(__APPLE__) || defined(_MSC_VER)
|
|
425
|
+
#define FOLLY_STATIC_CTOR_PRIORITY_MAX
|
|
426
|
+
#else
|
|
427
|
+
// 101 is the highest priority allowed by the init_priority attribute.
|
|
428
|
+
// This priority is already used by JEMalloc and other memory allocators so
|
|
429
|
+
// we will take the next one.
|
|
430
|
+
#define FOLLY_STATIC_CTOR_PRIORITY_MAX __attribute__((__init_priority__(102)))
|
|
431
|
+
#endif
|
|
432
|
+
|
|
433
|
+
#if defined(__APPLE__) && TARGET_OS_IOS
|
|
434
|
+
#define FOLLY_APPLE_IOS 1
|
|
435
|
+
#else
|
|
436
|
+
#define FOLLY_APPLE_IOS 0
|
|
437
|
+
#endif
|
|
438
|
+
|
|
439
|
+
#if defined(__APPLE__) && TARGET_OS_OSX
|
|
440
|
+
#define FOLLY_APPLE_MACOS 1
|
|
441
|
+
#else
|
|
442
|
+
#define FOLLY_APPLE_MACOS 0
|
|
443
|
+
#endif
|
|
444
|
+
|
|
445
|
+
#if defined(__APPLE__) && TARGET_OS_TV
|
|
446
|
+
#define FOLLY_APPLE_TVOS 1
|
|
447
|
+
#else
|
|
448
|
+
#define FOLLY_APPLE_TVOS 0
|
|
449
|
+
#endif
|
|
450
|
+
|
|
451
|
+
#if defined(__APPLE__) && TARGET_OS_WATCH
|
|
452
|
+
#define FOLLY_APPLE_WATCHOS 1
|
|
453
|
+
#else
|
|
454
|
+
#define FOLLY_APPLE_WATCHOS 0
|
|
455
|
+
#endif
|
|
456
|
+
|
|
457
|
+
namespace folly {
|
|
458
|
+
|
|
459
|
+
#ifdef __OBJC__
|
|
460
|
+
constexpr auto kIsObjC = true;
|
|
461
|
+
#else
|
|
462
|
+
constexpr auto kIsObjC = false;
|
|
463
|
+
#endif
|
|
464
|
+
|
|
465
|
+
#if FOLLY_MOBILE
|
|
466
|
+
constexpr auto kIsMobile = true;
|
|
467
|
+
#else
|
|
468
|
+
constexpr auto kIsMobile = false;
|
|
469
|
+
#endif
|
|
470
|
+
|
|
471
|
+
#if defined(__linux__) && !FOLLY_MOBILE
|
|
472
|
+
constexpr auto kIsLinux = true;
|
|
473
|
+
#else
|
|
474
|
+
constexpr auto kIsLinux = false;
|
|
475
|
+
#endif
|
|
476
|
+
|
|
477
|
+
#if defined(_WIN32)
|
|
478
|
+
constexpr auto kIsWindows = true;
|
|
479
|
+
#else
|
|
480
|
+
constexpr auto kIsWindows = false;
|
|
481
|
+
#endif
|
|
482
|
+
|
|
483
|
+
#if defined(__APPLE__)
|
|
484
|
+
constexpr auto kIsApple = true;
|
|
485
|
+
#else
|
|
486
|
+
constexpr auto kIsApple = false;
|
|
487
|
+
#endif
|
|
488
|
+
|
|
489
|
+
constexpr bool kIsAppleIOS = FOLLY_APPLE_IOS == 1;
|
|
490
|
+
constexpr bool kIsAppleMacOS = FOLLY_APPLE_MACOS == 1;
|
|
491
|
+
constexpr bool kIsAppleTVOS = FOLLY_APPLE_TVOS == 1;
|
|
492
|
+
constexpr bool kIsAppleWatchOS = FOLLY_APPLE_WATCHOS == 1;
|
|
493
|
+
|
|
494
|
+
#if defined(__GLIBCXX__)
|
|
495
|
+
constexpr auto kIsGlibcxx = true;
|
|
496
|
+
#else
|
|
497
|
+
constexpr auto kIsGlibcxx = false;
|
|
498
|
+
#endif
|
|
499
|
+
|
|
500
|
+
#if defined(__GLIBCXX__) && _GLIBCXX_RELEASE // major version, 7+
|
|
501
|
+
constexpr auto kGlibcxxVer = _GLIBCXX_RELEASE;
|
|
502
|
+
#else
|
|
503
|
+
constexpr auto kGlibcxxVer = 0;
|
|
504
|
+
#endif
|
|
505
|
+
|
|
506
|
+
#if defined(__GLIBCXX__) && defined(_GLIBCXX_ASSERTIONS)
|
|
507
|
+
constexpr auto kGlibcxxAssertions = true;
|
|
508
|
+
#else
|
|
509
|
+
constexpr auto kGlibcxxAssertions = false;
|
|
510
|
+
#endif
|
|
511
|
+
|
|
512
|
+
#ifdef _LIBCPP_VERSION
|
|
513
|
+
constexpr auto kIsLibcpp = true;
|
|
514
|
+
#else
|
|
515
|
+
constexpr auto kIsLibcpp = false;
|
|
516
|
+
#endif
|
|
517
|
+
|
|
518
|
+
#if defined(__GLIBCXX__)
|
|
519
|
+
constexpr auto kIsLibstdcpp = true;
|
|
520
|
+
#else
|
|
521
|
+
constexpr auto kIsLibstdcpp = false;
|
|
522
|
+
#endif
|
|
523
|
+
|
|
524
|
+
#ifdef _MSC_VER
|
|
525
|
+
constexpr auto kMscVer = _MSC_VER;
|
|
526
|
+
#else
|
|
527
|
+
constexpr auto kMscVer = 0;
|
|
528
|
+
#endif
|
|
529
|
+
|
|
530
|
+
#if defined(__GNUC__) && __GNUC__
|
|
531
|
+
constexpr auto kGnuc = __GNUC__;
|
|
532
|
+
#else
|
|
533
|
+
constexpr auto kGnuc = 0;
|
|
534
|
+
#endif
|
|
535
|
+
|
|
536
|
+
#if __clang__
|
|
537
|
+
constexpr auto kIsClang = true;
|
|
538
|
+
constexpr auto kClangVerMajor = __clang_major__;
|
|
539
|
+
#else
|
|
540
|
+
constexpr auto kIsClang = false;
|
|
541
|
+
constexpr auto kClangVerMajor = 0;
|
|
542
|
+
#endif
|
|
543
|
+
|
|
544
|
+
#ifdef FOLLY_MICROSOFT_ABI_VER
|
|
545
|
+
constexpr auto kMicrosoftAbiVer = FOLLY_MICROSOFT_ABI_VER;
|
|
546
|
+
#else
|
|
547
|
+
constexpr auto kMicrosoftAbiVer = 0;
|
|
548
|
+
#endif
|
|
549
|
+
|
|
550
|
+
// cpplib is an implementation of the standard library, and is the one typically
|
|
551
|
+
// used with the msvc compiler
|
|
552
|
+
#ifdef _CPPLIB_VER
|
|
553
|
+
constexpr auto kCpplibVer = _CPPLIB_VER;
|
|
554
|
+
#else
|
|
555
|
+
constexpr auto kCpplibVer = 0;
|
|
556
|
+
#endif
|
|
557
|
+
} // namespace folly
|
|
558
|
+
|
|
559
|
+
// MSVC does not permit:
|
|
560
|
+
//
|
|
561
|
+
// extern int const num;
|
|
562
|
+
// constexpr int const num = 3;
|
|
563
|
+
//
|
|
564
|
+
// Instead:
|
|
565
|
+
//
|
|
566
|
+
// extern int const num;
|
|
567
|
+
// FOLLY_STORAGE_CONSTEXPR int const num = 3;
|
|
568
|
+
//
|
|
569
|
+
// True as of MSVC 2017.
|
|
570
|
+
#ifdef _MSC_VER
|
|
571
|
+
#define FOLLY_STORAGE_CONSTEXPR
|
|
572
|
+
#else
|
|
573
|
+
#define FOLLY_STORAGE_CONSTEXPR constexpr
|
|
574
|
+
#endif
|
|
575
|
+
|
|
576
|
+
// FOLLY_CXX20_CONSTEXPR
|
|
577
|
+
//
|
|
578
|
+
// C++20 permits more cases to be marked constexpr, including constructors that
|
|
579
|
+
// leave members uninitialized and virtual functions.
|
|
580
|
+
#if FOLLY_CPLUSPLUS >= 202002L
|
|
581
|
+
#define FOLLY_CXX20_CONSTEXPR constexpr
|
|
582
|
+
#else
|
|
583
|
+
#define FOLLY_CXX20_CONSTEXPR
|
|
584
|
+
#endif
|
|
585
|
+
|
|
586
|
+
// FOLLY_CXX23_CONSTEXPR
|
|
587
|
+
//
|
|
588
|
+
// C++23 permits more cases to be marked constexpr, including definitions of
|
|
589
|
+
// variables of non-literal type in constexpr function as long as they are not
|
|
590
|
+
// constant-evaluated.
|
|
591
|
+
#if FOLLY_CPLUSPLUS >= 202302L
|
|
592
|
+
#define FOLLY_CXX23_CONSTEXPR constexpr
|
|
593
|
+
#else
|
|
594
|
+
#define FOLLY_CXX23_CONSTEXPR
|
|
595
|
+
#endif
|
|
596
|
+
|
|
597
|
+
// C++20 constinit
|
|
598
|
+
#if defined(__cpp_constinit) && __cpp_constinit >= 201907L
|
|
599
|
+
#define FOLLY_CONSTINIT constinit
|
|
600
|
+
#else
|
|
601
|
+
#define FOLLY_CONSTINIT
|
|
602
|
+
#endif
|
|
603
|
+
|
|
604
|
+
#if defined(FOLLY_CFG_NO_COROUTINES)
|
|
605
|
+
#define FOLLY_HAS_COROUTINES 0
|
|
606
|
+
#else
|
|
607
|
+
// folly::coro requires C++17 support
|
|
608
|
+
#if defined(__NVCC__)
|
|
609
|
+
// For now, NVCC matches other compilers but does not offer coroutines.
|
|
610
|
+
#define FOLLY_HAS_COROUTINES 0
|
|
611
|
+
#elif defined(_WIN32) && defined(__clang__) && !defined(LLVM_COROUTINES)
|
|
612
|
+
// LLVM and MSVC coroutines are ABI incompatible, so for the MSVC implementation
|
|
613
|
+
// of <experimental/coroutine> on Windows we *don't* have coroutines.
|
|
614
|
+
//
|
|
615
|
+
// LLVM_COROUTINES indicates that LLVM compatible header is added to include
|
|
616
|
+
// path and can be used.
|
|
617
|
+
//
|
|
618
|
+
// Worse, if we define FOLLY_HAS_COROUTINES 1 we will include
|
|
619
|
+
// <experimental/coroutine> which will conflict with anyone who wants to load
|
|
620
|
+
// the LLVM implementation of coroutines on Windows.
|
|
621
|
+
#define FOLLY_HAS_COROUTINES 0
|
|
622
|
+
#elif defined(_MSC_VER) && _MSC_VER && defined(_RESUMABLE_FUNCTIONS_SUPPORTED)
|
|
623
|
+
// NOTE: MSVC 2017 does not currently support the full Coroutines TS since it
|
|
624
|
+
// does not yet support symmetric-transfer.
|
|
625
|
+
#define FOLLY_HAS_COROUTINES 0
|
|
626
|
+
#elif ( \
|
|
627
|
+
(defined(__cpp_coroutines) && __cpp_coroutines >= 201703L) || \
|
|
628
|
+
(defined(__cpp_impl_coroutine) && __cpp_impl_coroutine >= 201902L)) && \
|
|
629
|
+
(__has_include(<coroutine>) || __has_include(<experimental/coroutine>))
|
|
630
|
+
#define FOLLY_HAS_COROUTINES 1
|
|
631
|
+
// This is mainly to workaround bugs triggered by LTO, when stack allocated
|
|
632
|
+
// variables in await_suspend end up on a coroutine frame.
|
|
633
|
+
#define FOLLY_CORO_AWAIT_SUSPEND_NONTRIVIAL_ATTRIBUTES FOLLY_NOINLINE
|
|
634
|
+
#else
|
|
635
|
+
#define FOLLY_HAS_COROUTINES 0
|
|
636
|
+
#endif
|
|
637
|
+
#endif // FOLLY_CFG_NO_COROUTINES
|
|
638
|
+
|
|
639
|
+
// C++20 consteval
|
|
640
|
+
#if FOLLY_CPLUSPLUS >= 202002L
|
|
641
|
+
#define FOLLY_CONSTEVAL consteval
|
|
642
|
+
#else
|
|
643
|
+
#define FOLLY_CONSTEVAL constexpr
|
|
644
|
+
#endif
|