@nxtedition/rocksdb 15.1.5 → 15.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1705) hide show
  1. package/.claude/settings.local.json +5 -1
  2. package/binding.cc +83 -43
  3. package/binding.gyp +102 -2
  4. package/deps/abseil-cpp/BUILD.bazel +35 -0
  5. package/deps/abseil-cpp/CMake/AbseilDll.cmake +938 -0
  6. package/deps/abseil-cpp/CMake/AbseilHelpers.cmake +465 -0
  7. package/deps/abseil-cpp/CMake/Googletest/CMakeLists.txt.in +14 -0
  8. package/deps/abseil-cpp/CMake/Googletest/DownloadGTest.cmake +41 -0
  9. package/deps/abseil-cpp/CMake/abslConfig.cmake.in +8 -0
  10. package/deps/abseil-cpp/CMake/install_test_project/CMakeLists.txt +25 -0
  11. package/deps/abseil-cpp/CMake/install_test_project/simple.cc +32 -0
  12. package/deps/abseil-cpp/CMake/install_test_project/test.sh +113 -0
  13. package/deps/abseil-cpp/CMakeLists.txt +280 -0
  14. package/deps/abseil-cpp/LICENSE +203 -0
  15. package/deps/abseil-cpp/MODULE.bazel +43 -0
  16. package/deps/abseil-cpp/PrivacyInfo.xcprivacy +14 -0
  17. package/deps/abseil-cpp/absl/BUILD.bazel +62 -0
  18. package/deps/abseil-cpp/absl/CMakeLists.txt +45 -0
  19. package/deps/abseil-cpp/absl/abseil.podspec.gen.py +245 -0
  20. package/deps/abseil-cpp/absl/algorithm/BUILD.bazel +92 -0
  21. package/deps/abseil-cpp/absl/algorithm/CMakeLists.txt +72 -0
  22. package/deps/abseil-cpp/absl/algorithm/algorithm.h +64 -0
  23. package/deps/abseil-cpp/absl/algorithm/algorithm_test.cc +60 -0
  24. package/deps/abseil-cpp/absl/algorithm/container.h +1864 -0
  25. package/deps/abseil-cpp/absl/algorithm/container_test.cc +2232 -0
  26. package/deps/abseil-cpp/absl/base/BUILD.bazel +1036 -0
  27. package/deps/abseil-cpp/absl/base/CMakeLists.txt +881 -0
  28. package/deps/abseil-cpp/absl/base/attributes.h +1081 -0
  29. package/deps/abseil-cpp/absl/base/attributes_test.cc +43 -0
  30. package/deps/abseil-cpp/absl/base/bit_cast_test.cc +109 -0
  31. package/deps/abseil-cpp/absl/base/c_header_test.c +30 -0
  32. package/deps/abseil-cpp/absl/base/call_once.h +228 -0
  33. package/deps/abseil-cpp/absl/base/call_once_test.cc +107 -0
  34. package/deps/abseil-cpp/absl/base/casts.cc +61 -0
  35. package/deps/abseil-cpp/absl/base/casts.h +313 -0
  36. package/deps/abseil-cpp/absl/base/casts_test.cc +148 -0
  37. package/deps/abseil-cpp/absl/base/config.h +854 -0
  38. package/deps/abseil-cpp/absl/base/config_test.cc +60 -0
  39. package/deps/abseil-cpp/absl/base/const_init.h +76 -0
  40. package/deps/abseil-cpp/absl/base/dynamic_annotations.h +480 -0
  41. package/deps/abseil-cpp/absl/base/exception_safety_testing_test.cc +958 -0
  42. package/deps/abseil-cpp/absl/base/fast_type_id.h +73 -0
  43. package/deps/abseil-cpp/absl/base/fast_type_id_test.cc +130 -0
  44. package/deps/abseil-cpp/absl/base/internal/atomic_hook.h +200 -0
  45. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test.cc +97 -0
  46. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.cc +32 -0
  47. package/deps/abseil-cpp/absl/base/internal/atomic_hook_test_helper.h +34 -0
  48. package/deps/abseil-cpp/absl/base/internal/cmake_thread_test.cc +22 -0
  49. package/deps/abseil-cpp/absl/base/internal/cycleclock.cc +72 -0
  50. package/deps/abseil-cpp/absl/base/internal/cycleclock.h +144 -0
  51. package/deps/abseil-cpp/absl/base/internal/cycleclock_config.h +55 -0
  52. package/deps/abseil-cpp/absl/base/internal/direct_mmap.h +170 -0
  53. package/deps/abseil-cpp/absl/base/internal/dynamic_annotations.h +398 -0
  54. package/deps/abseil-cpp/absl/base/internal/endian.h +279 -0
  55. package/deps/abseil-cpp/absl/base/internal/endian_test.cc +263 -0
  56. package/deps/abseil-cpp/absl/base/internal/errno_saver.h +43 -0
  57. package/deps/abseil-cpp/absl/base/internal/errno_saver_test.cc +45 -0
  58. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.cc +79 -0
  59. package/deps/abseil-cpp/absl/base/internal/exception_safety_testing.h +1109 -0
  60. package/deps/abseil-cpp/absl/base/internal/exception_testing.h +42 -0
  61. package/deps/abseil-cpp/absl/base/internal/hide_ptr.h +51 -0
  62. package/deps/abseil-cpp/absl/base/internal/iterator_traits.h +75 -0
  63. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test.cc +85 -0
  64. package/deps/abseil-cpp/absl/base/internal/iterator_traits_test_helper.h +97 -0
  65. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.cc +661 -0
  66. package/deps/abseil-cpp/absl/base/internal/low_level_alloc.h +133 -0
  67. package/deps/abseil-cpp/absl/base/internal/low_level_alloc_test.cc +180 -0
  68. package/deps/abseil-cpp/absl/base/internal/low_level_scheduling.h +134 -0
  69. package/deps/abseil-cpp/absl/base/internal/nullability_traits.h +71 -0
  70. package/deps/abseil-cpp/absl/base/internal/nullability_traits_test.cc +98 -0
  71. package/deps/abseil-cpp/absl/base/internal/per_thread_tls.h +52 -0
  72. package/deps/abseil-cpp/absl/base/internal/poison.cc +85 -0
  73. package/deps/abseil-cpp/absl/base/internal/poison.h +59 -0
  74. package/deps/abseil-cpp/absl/base/internal/poison_test.cc +41 -0
  75. package/deps/abseil-cpp/absl/base/internal/pretty_function.h +33 -0
  76. package/deps/abseil-cpp/absl/base/internal/raw_logging.cc +279 -0
  77. package/deps/abseil-cpp/absl/base/internal/raw_logging.h +217 -0
  78. package/deps/abseil-cpp/absl/base/internal/scheduling_mode.h +58 -0
  79. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.cc +81 -0
  80. package/deps/abseil-cpp/absl/base/internal/scoped_set_env.h +45 -0
  81. package/deps/abseil-cpp/absl/base/internal/scoped_set_env_test.cc +99 -0
  82. package/deps/abseil-cpp/absl/base/internal/spinlock.cc +225 -0
  83. package/deps/abseil-cpp/absl/base/internal/spinlock.h +310 -0
  84. package/deps/abseil-cpp/absl/base/internal/spinlock_akaros.inc +35 -0
  85. package/deps/abseil-cpp/absl/base/internal/spinlock_benchmark.cc +80 -0
  86. package/deps/abseil-cpp/absl/base/internal/spinlock_linux.inc +71 -0
  87. package/deps/abseil-cpp/absl/base/internal/spinlock_posix.inc +46 -0
  88. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.cc +81 -0
  89. package/deps/abseil-cpp/absl/base/internal/spinlock_wait.h +95 -0
  90. package/deps/abseil-cpp/absl/base/internal/spinlock_win32.inc +40 -0
  91. package/deps/abseil-cpp/absl/base/internal/strerror.cc +88 -0
  92. package/deps/abseil-cpp/absl/base/internal/strerror.h +39 -0
  93. package/deps/abseil-cpp/absl/base/internal/strerror_benchmark.cc +29 -0
  94. package/deps/abseil-cpp/absl/base/internal/strerror_test.cc +89 -0
  95. package/deps/abseil-cpp/absl/base/internal/sysinfo.cc +494 -0
  96. package/deps/abseil-cpp/absl/base/internal/sysinfo.h +74 -0
  97. package/deps/abseil-cpp/absl/base/internal/sysinfo_test.cc +82 -0
  98. package/deps/abseil-cpp/absl/base/internal/thread_identity.cc +163 -0
  99. package/deps/abseil-cpp/absl/base/internal/thread_identity.h +273 -0
  100. package/deps/abseil-cpp/absl/base/internal/thread_identity_benchmark.cc +38 -0
  101. package/deps/abseil-cpp/absl/base/internal/thread_identity_test.cc +129 -0
  102. package/deps/abseil-cpp/absl/base/internal/throw_delegate.cc +203 -0
  103. package/deps/abseil-cpp/absl/base/internal/throw_delegate.h +75 -0
  104. package/deps/abseil-cpp/absl/base/internal/tracing.cc +39 -0
  105. package/deps/abseil-cpp/absl/base/internal/tracing.h +81 -0
  106. package/deps/abseil-cpp/absl/base/internal/tracing_strong_test.cc +117 -0
  107. package/deps/abseil-cpp/absl/base/internal/tracing_weak_test.cc +34 -0
  108. package/deps/abseil-cpp/absl/base/internal/tsan_mutex_interface.h +68 -0
  109. package/deps/abseil-cpp/absl/base/internal/unaligned_access.h +89 -0
  110. package/deps/abseil-cpp/absl/base/internal/unique_small_name_test.cc +77 -0
  111. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.cc +134 -0
  112. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock.h +113 -0
  113. package/deps/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h +62 -0
  114. package/deps/abseil-cpp/absl/base/log_severity.cc +56 -0
  115. package/deps/abseil-cpp/absl/base/log_severity.h +185 -0
  116. package/deps/abseil-cpp/absl/base/log_severity_test.cc +251 -0
  117. package/deps/abseil-cpp/absl/base/macros.h +243 -0
  118. package/deps/abseil-cpp/absl/base/no_destructor.h +191 -0
  119. package/deps/abseil-cpp/absl/base/no_destructor_benchmark.cc +165 -0
  120. package/deps/abseil-cpp/absl/base/no_destructor_test.cc +205 -0
  121. package/deps/abseil-cpp/absl/base/nullability.h +317 -0
  122. package/deps/abseil-cpp/absl/base/nullability_default_nonnull_test.cc +44 -0
  123. package/deps/abseil-cpp/absl/base/nullability_test.cc +90 -0
  124. package/deps/abseil-cpp/absl/base/optimization.h +310 -0
  125. package/deps/abseil-cpp/absl/base/optimization_test.cc +141 -0
  126. package/deps/abseil-cpp/absl/base/options.h +158 -0
  127. package/deps/abseil-cpp/absl/base/policy_checks.h +115 -0
  128. package/deps/abseil-cpp/absl/base/port.h +25 -0
  129. package/deps/abseil-cpp/absl/base/prefetch.h +209 -0
  130. package/deps/abseil-cpp/absl/base/prefetch_test.cc +64 -0
  131. package/deps/abseil-cpp/absl/base/raw_logging_test.cc +98 -0
  132. package/deps/abseil-cpp/absl/base/spinlock_test_common.cc +302 -0
  133. package/deps/abseil-cpp/absl/base/thread_annotations.h +333 -0
  134. package/deps/abseil-cpp/absl/base/throw_delegate_test.cc +175 -0
  135. package/deps/abseil-cpp/absl/cleanup/BUILD.bazel +74 -0
  136. package/deps/abseil-cpp/absl/cleanup/CMakeLists.txt +55 -0
  137. package/deps/abseil-cpp/absl/cleanup/cleanup.h +142 -0
  138. package/deps/abseil-cpp/absl/cleanup/cleanup_test.cc +309 -0
  139. package/deps/abseil-cpp/absl/cleanup/internal/cleanup.h +99 -0
  140. package/deps/abseil-cpp/absl/container/BUILD.bazel +1394 -0
  141. package/deps/abseil-cpp/absl/container/CMakeLists.txt +1239 -0
  142. package/deps/abseil-cpp/absl/container/btree_benchmark.cc +806 -0
  143. package/deps/abseil-cpp/absl/container/btree_map.h +941 -0
  144. package/deps/abseil-cpp/absl/container/btree_set.h +872 -0
  145. package/deps/abseil-cpp/absl/container/btree_test.cc +3653 -0
  146. package/deps/abseil-cpp/absl/container/btree_test.h +166 -0
  147. package/deps/abseil-cpp/absl/container/chunked_queue.h +755 -0
  148. package/deps/abseil-cpp/absl/container/chunked_queue_benchmark.cc +386 -0
  149. package/deps/abseil-cpp/absl/container/chunked_queue_test.cc +768 -0
  150. package/deps/abseil-cpp/absl/container/fixed_array.h +547 -0
  151. package/deps/abseil-cpp/absl/container/fixed_array_benchmark.cc +67 -0
  152. package/deps/abseil-cpp/absl/container/fixed_array_exception_safety_test.cc +201 -0
  153. package/deps/abseil-cpp/absl/container/fixed_array_test.cc +874 -0
  154. package/deps/abseil-cpp/absl/container/flat_hash_map.h +702 -0
  155. package/deps/abseil-cpp/absl/container/flat_hash_map_test.cc +451 -0
  156. package/deps/abseil-cpp/absl/container/flat_hash_set.h +590 -0
  157. package/deps/abseil-cpp/absl/container/flat_hash_set_test.cc +401 -0
  158. package/deps/abseil-cpp/absl/container/hash_container_defaults.h +45 -0
  159. package/deps/abseil-cpp/absl/container/inlined_vector.h +1025 -0
  160. package/deps/abseil-cpp/absl/container/inlined_vector_benchmark.cc +829 -0
  161. package/deps/abseil-cpp/absl/container/inlined_vector_exception_safety_test.cc +508 -0
  162. package/deps/abseil-cpp/absl/container/inlined_vector_test.cc +2278 -0
  163. package/deps/abseil-cpp/absl/container/internal/btree.h +3149 -0
  164. package/deps/abseil-cpp/absl/container/internal/btree_container.h +876 -0
  165. package/deps/abseil-cpp/absl/container/internal/chunked_queue.h +173 -0
  166. package/deps/abseil-cpp/absl/container/internal/common.h +301 -0
  167. package/deps/abseil-cpp/absl/container/internal/common_policy_traits.h +151 -0
  168. package/deps/abseil-cpp/absl/container/internal/common_policy_traits_test.cc +157 -0
  169. package/deps/abseil-cpp/absl/container/internal/compressed_tuple.h +275 -0
  170. package/deps/abseil-cpp/absl/container/internal/compressed_tuple_test.cc +469 -0
  171. package/deps/abseil-cpp/absl/container/internal/container_memory.h +561 -0
  172. package/deps/abseil-cpp/absl/container/internal/container_memory_test.cc +359 -0
  173. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults.h +281 -0
  174. package/deps/abseil-cpp/absl/container/internal/hash_function_defaults_test.cc +633 -0
  175. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.cc +54 -0
  176. package/deps/abseil-cpp/absl/container/internal/hash_generator_testing.h +172 -0
  177. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing.h +173 -0
  178. package/deps/abseil-cpp/absl/container/internal/hash_policy_testing_test.cc +45 -0
  179. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits.h +195 -0
  180. package/deps/abseil-cpp/absl/container/internal/hash_policy_traits_test.cc +149 -0
  181. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes.h +527 -0
  182. package/deps/abseil-cpp/absl/container/internal/hashtable_control_bytes_test.cc +259 -0
  183. package/deps/abseil-cpp/absl/container/internal/hashtable_debug.h +102 -0
  184. package/deps/abseil-cpp/absl/container/internal/hashtable_debug_hooks.h +85 -0
  185. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.cc +316 -0
  186. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler.h +311 -0
  187. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_force_weak_definition.cc +31 -0
  188. package/deps/abseil-cpp/absl/container/internal/hashtablez_sampler_test.cc +534 -0
  189. package/deps/abseil-cpp/absl/container/internal/heterogeneous_lookup_testing.h +80 -0
  190. package/deps/abseil-cpp/absl/container/internal/inlined_vector.h +1094 -0
  191. package/deps/abseil-cpp/absl/container/internal/layout.h +828 -0
  192. package/deps/abseil-cpp/absl/container/internal/layout_benchmark.cc +295 -0
  193. package/deps/abseil-cpp/absl/container/internal/layout_test.cc +2034 -0
  194. package/deps/abseil-cpp/absl/container/internal/node_slot_policy.h +95 -0
  195. package/deps/abseil-cpp/absl/container/internal/node_slot_policy_test.cc +71 -0
  196. package/deps/abseil-cpp/absl/container/internal/raw_hash_map.h +382 -0
  197. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.cc +2090 -0
  198. package/deps/abseil-cpp/absl/container/internal/raw_hash_set.h +3763 -0
  199. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_allocator_test.cc +525 -0
  200. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_benchmark.cc +696 -0
  201. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_probe_benchmark.cc +583 -0
  202. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl.h +79 -0
  203. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_resize_impl_test.cc +66 -0
  204. package/deps/abseil-cpp/absl/container/internal/raw_hash_set_test.cc +4184 -0
  205. package/deps/abseil-cpp/absl/container/internal/test_allocator.h +387 -0
  206. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.cc +29 -0
  207. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker.h +274 -0
  208. package/deps/abseil-cpp/absl/container/internal/test_instance_tracker_test.cc +184 -0
  209. package/deps/abseil-cpp/absl/container/internal/tracked.h +83 -0
  210. package/deps/abseil-cpp/absl/container/internal/unordered_map_constructor_test.h +435 -0
  211. package/deps/abseil-cpp/absl/container/internal/unordered_map_lookup_test.h +112 -0
  212. package/deps/abseil-cpp/absl/container/internal/unordered_map_members_test.h +87 -0
  213. package/deps/abseil-cpp/absl/container/internal/unordered_map_modifiers_test.h +336 -0
  214. package/deps/abseil-cpp/absl/container/internal/unordered_map_test.cc +50 -0
  215. package/deps/abseil-cpp/absl/container/internal/unordered_set_constructor_test.h +437 -0
  216. package/deps/abseil-cpp/absl/container/internal/unordered_set_lookup_test.h +88 -0
  217. package/deps/abseil-cpp/absl/container/internal/unordered_set_members_test.h +86 -0
  218. package/deps/abseil-cpp/absl/container/internal/unordered_set_modifiers_test.h +215 -0
  219. package/deps/abseil-cpp/absl/container/internal/unordered_set_test.cc +41 -0
  220. package/deps/abseil-cpp/absl/container/linked_hash_map.h +666 -0
  221. package/deps/abseil-cpp/absl/container/linked_hash_map_benchmark.cc +140 -0
  222. package/deps/abseil-cpp/absl/container/linked_hash_map_test.cc +987 -0
  223. package/deps/abseil-cpp/absl/container/linked_hash_set.h +527 -0
  224. package/deps/abseil-cpp/absl/container/linked_hash_set_benchmark.cc +84 -0
  225. package/deps/abseil-cpp/absl/container/linked_hash_set_test.cc +947 -0
  226. package/deps/abseil-cpp/absl/container/node_hash_map.h +698 -0
  227. package/deps/abseil-cpp/absl/container/node_hash_map_test.cc +348 -0
  228. package/deps/abseil-cpp/absl/container/node_hash_set.h +589 -0
  229. package/deps/abseil-cpp/absl/container/node_hash_set_test.cc +188 -0
  230. package/deps/abseil-cpp/absl/container/sample_element_size_test.cc +118 -0
  231. package/deps/abseil-cpp/absl/copts/AbseilConfigureCopts.cmake +106 -0
  232. package/deps/abseil-cpp/absl/copts/GENERATED_AbseilCopts.cmake +303 -0
  233. package/deps/abseil-cpp/absl/copts/GENERATED_copts.bzl +304 -0
  234. package/deps/abseil-cpp/absl/copts/configure_copts.bzl +39 -0
  235. package/deps/abseil-cpp/absl/copts/copts.py +205 -0
  236. package/deps/abseil-cpp/absl/copts/generate_copts.py +109 -0
  237. package/deps/abseil-cpp/absl/crc/BUILD.bazel +228 -0
  238. package/deps/abseil-cpp/absl/crc/CMakeLists.txt +177 -0
  239. package/deps/abseil-cpp/absl/crc/crc32c.cc +95 -0
  240. package/deps/abseil-cpp/absl/crc/crc32c.h +192 -0
  241. package/deps/abseil-cpp/absl/crc/crc32c_benchmark.cc +196 -0
  242. package/deps/abseil-cpp/absl/crc/crc32c_test.cc +257 -0
  243. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.cc +359 -0
  244. package/deps/abseil-cpp/absl/crc/internal/cpu_detect.h +69 -0
  245. package/deps/abseil-cpp/absl/crc/internal/crc.cc +435 -0
  246. package/deps/abseil-cpp/absl/crc/internal/crc.h +83 -0
  247. package/deps/abseil-cpp/absl/crc/internal/crc32_x86_arm_combined_simd.h +278 -0
  248. package/deps/abseil-cpp/absl/crc/internal/crc32c.h +39 -0
  249. package/deps/abseil-cpp/absl/crc/internal/crc32c_inline.h +72 -0
  250. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.cc +131 -0
  251. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state.h +159 -0
  252. package/deps/abseil-cpp/absl/crc/internal/crc_cord_state_test.cc +124 -0
  253. package/deps/abseil-cpp/absl/crc/internal/crc_internal.h +161 -0
  254. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy.h +122 -0
  255. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_fallback.cc +78 -0
  256. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_test.cc +177 -0
  257. package/deps/abseil-cpp/absl/crc/internal/crc_memcpy_x86_arm_combined.cc +459 -0
  258. package/deps/abseil-cpp/absl/crc/internal/crc_non_temporal_memcpy.cc +93 -0
  259. package/deps/abseil-cpp/absl/crc/internal/crc_x86_arm_combined.cc +762 -0
  260. package/deps/abseil-cpp/absl/crc/internal/gen_crc32c_consts.py +90 -0
  261. package/deps/abseil-cpp/absl/crc/internal/non_temporal_arm_intrinsics.h +81 -0
  262. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy.h +195 -0
  263. package/deps/abseil-cpp/absl/crc/internal/non_temporal_memcpy_test.cc +90 -0
  264. package/deps/abseil-cpp/absl/debugging/BUILD.bazel +483 -0
  265. package/deps/abseil-cpp/absl/debugging/CMakeLists.txt +448 -0
  266. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.cc +434 -0
  267. package/deps/abseil-cpp/absl/debugging/failure_signal_handler.h +121 -0
  268. package/deps/abseil-cpp/absl/debugging/failure_signal_handler_test.cc +166 -0
  269. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.cc +98 -0
  270. package/deps/abseil-cpp/absl/debugging/internal/address_is_readable.h +32 -0
  271. package/deps/abseil-cpp/absl/debugging/internal/addresses.h +57 -0
  272. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.cc +118 -0
  273. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer.h +71 -0
  274. package/deps/abseil-cpp/absl/debugging/internal/borrowed_fixup_buffer_test.cc +97 -0
  275. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence.h +126 -0
  276. package/deps/abseil-cpp/absl/debugging/internal/bounded_utf8_length_sequence_test.cc +126 -0
  277. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.cc +258 -0
  278. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode.h +55 -0
  279. package/deps/abseil-cpp/absl/debugging/internal/decode_rust_punycode_test.cc +606 -0
  280. package/deps/abseil-cpp/absl/debugging/internal/demangle.cc +2958 -0
  281. package/deps/abseil-cpp/absl/debugging/internal/demangle.h +76 -0
  282. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.cc +925 -0
  283. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust.h +42 -0
  284. package/deps/abseil-cpp/absl/debugging/internal/demangle_rust_test.cc +584 -0
  285. package/deps/abseil-cpp/absl/debugging/internal/demangle_test.cc +2050 -0
  286. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.cc +413 -0
  287. package/deps/abseil-cpp/absl/debugging/internal/elf_mem_image.h +141 -0
  288. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.cc +334 -0
  289. package/deps/abseil-cpp/absl/debugging/internal/examine_stack.h +70 -0
  290. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.cc +206 -0
  291. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption.h +50 -0
  292. package/deps/abseil-cpp/absl/debugging/internal/stack_consumption_test.cc +50 -0
  293. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_aarch64-inl.inc +288 -0
  294. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_arm-inl.inc +148 -0
  295. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_config.h +96 -0
  296. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_emscripten-inl.inc +112 -0
  297. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_generic-inl.inc +114 -0
  298. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_powerpc-inl.inc +270 -0
  299. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_riscv-inl.inc +204 -0
  300. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_unimplemented-inl.inc +25 -0
  301. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_win32-inl.inc +81 -0
  302. package/deps/abseil-cpp/absl/debugging/internal/stacktrace_x86-inl.inc +410 -0
  303. package/deps/abseil-cpp/absl/debugging/internal/symbolize.h +153 -0
  304. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.cc +70 -0
  305. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point.h +47 -0
  306. package/deps/abseil-cpp/absl/debugging/internal/utf8_for_code_point_test.cc +175 -0
  307. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.cc +209 -0
  308. package/deps/abseil-cpp/absl/debugging/internal/vdso_support.h +158 -0
  309. package/deps/abseil-cpp/absl/debugging/leak_check.cc +73 -0
  310. package/deps/abseil-cpp/absl/debugging/leak_check.h +150 -0
  311. package/deps/abseil-cpp/absl/debugging/leak_check_fail_test.cc +41 -0
  312. package/deps/abseil-cpp/absl/debugging/leak_check_test.cc +41 -0
  313. package/deps/abseil-cpp/absl/debugging/stacktrace.cc +244 -0
  314. package/deps/abseil-cpp/absl/debugging/stacktrace.h +302 -0
  315. package/deps/abseil-cpp/absl/debugging/stacktrace_benchmark.cc +78 -0
  316. package/deps/abseil-cpp/absl/debugging/stacktrace_test.cc +505 -0
  317. package/deps/abseil-cpp/absl/debugging/symbolize.cc +44 -0
  318. package/deps/abseil-cpp/absl/debugging/symbolize.h +99 -0
  319. package/deps/abseil-cpp/absl/debugging/symbolize_darwin.inc +102 -0
  320. package/deps/abseil-cpp/absl/debugging/symbolize_elf.inc +1756 -0
  321. package/deps/abseil-cpp/absl/debugging/symbolize_emscripten.inc +63 -0
  322. package/deps/abseil-cpp/absl/debugging/symbolize_test.cc +619 -0
  323. package/deps/abseil-cpp/absl/debugging/symbolize_unimplemented.inc +40 -0
  324. package/deps/abseil-cpp/absl/debugging/symbolize_win32.inc +99 -0
  325. package/deps/abseil-cpp/absl/extend/CMakeLists.txt +140 -0
  326. package/deps/abseil-cpp/absl/extend/internal/BUILD.bazel +127 -0
  327. package/deps/abseil-cpp/absl/extend/internal/aggregate.h +1687 -0
  328. package/deps/abseil-cpp/absl/extend/internal/aggregate_test.cc +867 -0
  329. package/deps/abseil-cpp/absl/extend/internal/dependencies.h +83 -0
  330. package/deps/abseil-cpp/absl/extend/internal/dependencies_test.cc +117 -0
  331. package/deps/abseil-cpp/absl/extend/internal/is_tuple_hashable.h +45 -0
  332. package/deps/abseil-cpp/absl/extend/internal/num_bases.h +87 -0
  333. package/deps/abseil-cpp/absl/extend/internal/num_bases_test.cc +91 -0
  334. package/deps/abseil-cpp/absl/extend/internal/num_initializers.h +113 -0
  335. package/deps/abseil-cpp/absl/extend/internal/num_initializers_test.cc +250 -0
  336. package/deps/abseil-cpp/absl/extend/internal/reflection.cc +112 -0
  337. package/deps/abseil-cpp/absl/extend/internal/reflection.h +75 -0
  338. package/deps/abseil-cpp/absl/extend/internal/tuple.h +51 -0
  339. package/deps/abseil-cpp/absl/flags/BUILD.bazel +618 -0
  340. package/deps/abseil-cpp/absl/flags/CMakeLists.txt +482 -0
  341. package/deps/abseil-cpp/absl/flags/commandlineflag.cc +35 -0
  342. package/deps/abseil-cpp/absl/flags/commandlineflag.h +219 -0
  343. package/deps/abseil-cpp/absl/flags/commandlineflag_test.cc +236 -0
  344. package/deps/abseil-cpp/absl/flags/config.h +68 -0
  345. package/deps/abseil-cpp/absl/flags/config_test.cc +61 -0
  346. package/deps/abseil-cpp/absl/flags/declare.h +77 -0
  347. package/deps/abseil-cpp/absl/flags/flag.h +307 -0
  348. package/deps/abseil-cpp/absl/flags/flag_benchmark.cc +251 -0
  349. package/deps/abseil-cpp/absl/flags/flag_benchmark.lds +13 -0
  350. package/deps/abseil-cpp/absl/flags/flag_test.cc +1381 -0
  351. package/deps/abseil-cpp/absl/flags/flag_test_defs.cc +24 -0
  352. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.cc +26 -0
  353. package/deps/abseil-cpp/absl/flags/internal/commandlineflag.h +68 -0
  354. package/deps/abseil-cpp/absl/flags/internal/flag.cc +712 -0
  355. package/deps/abseil-cpp/absl/flags/internal/flag.h +969 -0
  356. package/deps/abseil-cpp/absl/flags/internal/parse.h +70 -0
  357. package/deps/abseil-cpp/absl/flags/internal/path_util.h +62 -0
  358. package/deps/abseil-cpp/absl/flags/internal/path_util_test.cc +46 -0
  359. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.cc +69 -0
  360. package/deps/abseil-cpp/absl/flags/internal/private_handle_accessor.h +64 -0
  361. package/deps/abseil-cpp/absl/flags/internal/program_name.cc +61 -0
  362. package/deps/abseil-cpp/absl/flags/internal/program_name.h +50 -0
  363. package/deps/abseil-cpp/absl/flags/internal/program_name_test.cc +61 -0
  364. package/deps/abseil-cpp/absl/flags/internal/registry.h +98 -0
  365. package/deps/abseil-cpp/absl/flags/internal/sequence_lock.h +187 -0
  366. package/deps/abseil-cpp/absl/flags/internal/sequence_lock_test.cc +169 -0
  367. package/deps/abseil-cpp/absl/flags/internal/usage.cc +558 -0
  368. package/deps/abseil-cpp/absl/flags/internal/usage.h +106 -0
  369. package/deps/abseil-cpp/absl/flags/internal/usage_test.cc +550 -0
  370. package/deps/abseil-cpp/absl/flags/marshalling.cc +276 -0
  371. package/deps/abseil-cpp/absl/flags/marshalling.h +361 -0
  372. package/deps/abseil-cpp/absl/flags/marshalling_test.cc +1220 -0
  373. package/deps/abseil-cpp/absl/flags/parse.cc +952 -0
  374. package/deps/abseil-cpp/absl/flags/parse.h +130 -0
  375. package/deps/abseil-cpp/absl/flags/parse_test.cc +1094 -0
  376. package/deps/abseil-cpp/absl/flags/reflection.cc +368 -0
  377. package/deps/abseil-cpp/absl/flags/reflection.h +90 -0
  378. package/deps/abseil-cpp/absl/flags/reflection_test.cc +268 -0
  379. package/deps/abseil-cpp/absl/flags/usage.cc +66 -0
  380. package/deps/abseil-cpp/absl/flags/usage.h +43 -0
  381. package/deps/abseil-cpp/absl/flags/usage_config.cc +170 -0
  382. package/deps/abseil-cpp/absl/flags/usage_config.h +135 -0
  383. package/deps/abseil-cpp/absl/flags/usage_config_test.cc +205 -0
  384. package/deps/abseil-cpp/absl/functional/BUILD.bazel +173 -0
  385. package/deps/abseil-cpp/absl/functional/CMakeLists.txt +140 -0
  386. package/deps/abseil-cpp/absl/functional/any_invocable.h +336 -0
  387. package/deps/abseil-cpp/absl/functional/any_invocable_test.cc +1687 -0
  388. package/deps/abseil-cpp/absl/functional/bind_front.h +200 -0
  389. package/deps/abseil-cpp/absl/functional/bind_front_test.cc +227 -0
  390. package/deps/abseil-cpp/absl/functional/function_ref.h +249 -0
  391. package/deps/abseil-cpp/absl/functional/function_ref_test.cc +416 -0
  392. package/deps/abseil-cpp/absl/functional/function_type_benchmark.cc +176 -0
  393. package/deps/abseil-cpp/absl/functional/internal/any_invocable.h +787 -0
  394. package/deps/abseil-cpp/absl/functional/internal/front_binder.h +93 -0
  395. package/deps/abseil-cpp/absl/functional/internal/function_ref.h +151 -0
  396. package/deps/abseil-cpp/absl/functional/overload.h +72 -0
  397. package/deps/abseil-cpp/absl/functional/overload_test.cc +207 -0
  398. package/deps/abseil-cpp/absl/hash/BUILD.bazel +220 -0
  399. package/deps/abseil-cpp/absl/hash/CMakeLists.txt +179 -0
  400. package/deps/abseil-cpp/absl/hash/hash.h +466 -0
  401. package/deps/abseil-cpp/absl/hash/hash_benchmark.cc +398 -0
  402. package/deps/abseil-cpp/absl/hash/hash_instantiated_test.cc +224 -0
  403. package/deps/abseil-cpp/absl/hash/hash_test.cc +1320 -0
  404. package/deps/abseil-cpp/absl/hash/hash_testing.h +380 -0
  405. package/deps/abseil-cpp/absl/hash/internal/city.cc +337 -0
  406. package/deps/abseil-cpp/absl/hash/internal/city.h +78 -0
  407. package/deps/abseil-cpp/absl/hash/internal/city_test.cc +597 -0
  408. package/deps/abseil-cpp/absl/hash/internal/hash.cc +430 -0
  409. package/deps/abseil-cpp/absl/hash/internal/hash.h +1563 -0
  410. package/deps/abseil-cpp/absl/hash/internal/hash_test.h +87 -0
  411. package/deps/abseil-cpp/absl/hash/internal/low_level_hash_test.cc +509 -0
  412. package/deps/abseil-cpp/absl/hash/internal/print_hash_of.cc +23 -0
  413. package/deps/abseil-cpp/absl/hash/internal/spy_hash_state.h +286 -0
  414. package/deps/abseil-cpp/absl/hash/internal/weakly_mixed_integer.h +38 -0
  415. package/deps/abseil-cpp/absl/log/BUILD.bazel +686 -0
  416. package/deps/abseil-cpp/absl/log/CMakeLists.txt +1239 -0
  417. package/deps/abseil-cpp/absl/log/absl_check.h +117 -0
  418. package/deps/abseil-cpp/absl/log/absl_check_test.cc +58 -0
  419. package/deps/abseil-cpp/absl/log/absl_log.h +115 -0
  420. package/deps/abseil-cpp/absl/log/absl_log_basic_test.cc +22 -0
  421. package/deps/abseil-cpp/absl/log/absl_vlog_is_on.h +95 -0
  422. package/deps/abseil-cpp/absl/log/check.h +210 -0
  423. package/deps/abseil-cpp/absl/log/check_test.cc +58 -0
  424. package/deps/abseil-cpp/absl/log/check_test_impl.inc +1035 -0
  425. package/deps/abseil-cpp/absl/log/die_if_null.cc +34 -0
  426. package/deps/abseil-cpp/absl/log/die_if_null.h +97 -0
  427. package/deps/abseil-cpp/absl/log/die_if_null_test.cc +107 -0
  428. package/deps/abseil-cpp/absl/log/flags.cc +143 -0
  429. package/deps/abseil-cpp/absl/log/flags.h +43 -0
  430. package/deps/abseil-cpp/absl/log/flags_test.cc +195 -0
  431. package/deps/abseil-cpp/absl/log/globals.cc +178 -0
  432. package/deps/abseil-cpp/absl/log/globals.h +230 -0
  433. package/deps/abseil-cpp/absl/log/globals_test.cc +156 -0
  434. package/deps/abseil-cpp/absl/log/initialize.cc +38 -0
  435. package/deps/abseil-cpp/absl/log/initialize.h +45 -0
  436. package/deps/abseil-cpp/absl/log/internal/BUILD.bazel +581 -0
  437. package/deps/abseil-cpp/absl/log/internal/append_truncated.h +75 -0
  438. package/deps/abseil-cpp/absl/log/internal/check_impl.h +151 -0
  439. package/deps/abseil-cpp/absl/log/internal/check_op.cc +147 -0
  440. package/deps/abseil-cpp/absl/log/internal/check_op.h +565 -0
  441. package/deps/abseil-cpp/absl/log/internal/conditions.cc +85 -0
  442. package/deps/abseil-cpp/absl/log/internal/conditions.h +247 -0
  443. package/deps/abseil-cpp/absl/log/internal/config.h +45 -0
  444. package/deps/abseil-cpp/absl/log/internal/container.h +312 -0
  445. package/deps/abseil-cpp/absl/log/internal/container_test.cc +254 -0
  446. package/deps/abseil-cpp/absl/log/internal/flags.h +59 -0
  447. package/deps/abseil-cpp/absl/log/internal/fnmatch.cc +73 -0
  448. package/deps/abseil-cpp/absl/log/internal/fnmatch.h +35 -0
  449. package/deps/abseil-cpp/absl/log/internal/fnmatch_benchmark.cc +29 -0
  450. package/deps/abseil-cpp/absl/log/internal/fnmatch_test.cc +60 -0
  451. package/deps/abseil-cpp/absl/log/internal/globals.cc +145 -0
  452. package/deps/abseil-cpp/absl/log/internal/globals.h +101 -0
  453. package/deps/abseil-cpp/absl/log/internal/log_format.cc +205 -0
  454. package/deps/abseil-cpp/absl/log/internal/log_format.h +78 -0
  455. package/deps/abseil-cpp/absl/log/internal/log_impl.h +280 -0
  456. package/deps/abseil-cpp/absl/log/internal/log_message.cc +787 -0
  457. package/deps/abseil-cpp/absl/log/internal/log_message.h +455 -0
  458. package/deps/abseil-cpp/absl/log/internal/log_sink_set.cc +296 -0
  459. package/deps/abseil-cpp/absl/log/internal/log_sink_set.h +54 -0
  460. package/deps/abseil-cpp/absl/log/internal/nullguard.cc +35 -0
  461. package/deps/abseil-cpp/absl/log/internal/nullguard.h +88 -0
  462. package/deps/abseil-cpp/absl/log/internal/nullstream.h +128 -0
  463. package/deps/abseil-cpp/absl/log/internal/proto.cc +218 -0
  464. package/deps/abseil-cpp/absl/log/internal/proto.h +298 -0
  465. package/deps/abseil-cpp/absl/log/internal/stderr_log_sink_test.cc +105 -0
  466. package/deps/abseil-cpp/absl/log/internal/strip.h +99 -0
  467. package/deps/abseil-cpp/absl/log/internal/structured.h +160 -0
  468. package/deps/abseil-cpp/absl/log/internal/structured_proto.cc +115 -0
  469. package/deps/abseil-cpp/absl/log/internal/structured_proto.h +107 -0
  470. package/deps/abseil-cpp/absl/log/internal/structured_proto_test.cc +120 -0
  471. package/deps/abseil-cpp/absl/log/internal/test_actions.cc +75 -0
  472. package/deps/abseil-cpp/absl/log/internal/test_actions.h +90 -0
  473. package/deps/abseil-cpp/absl/log/internal/test_helpers.cc +82 -0
  474. package/deps/abseil-cpp/absl/log/internal/test_helpers.h +71 -0
  475. package/deps/abseil-cpp/absl/log/internal/test_matchers.cc +216 -0
  476. package/deps/abseil-cpp/absl/log/internal/test_matchers.h +94 -0
  477. package/deps/abseil-cpp/absl/log/internal/vlog_config.cc +347 -0
  478. package/deps/abseil-cpp/absl/log/internal/vlog_config.h +164 -0
  479. package/deps/abseil-cpp/absl/log/internal/vlog_config_benchmark.cc +187 -0
  480. package/deps/abseil-cpp/absl/log/internal/voidify.h +50 -0
  481. package/deps/abseil-cpp/absl/log/log.h +378 -0
  482. package/deps/abseil-cpp/absl/log/log_basic_test.cc +22 -0
  483. package/deps/abseil-cpp/absl/log/log_basic_test_impl.inc +654 -0
  484. package/deps/abseil-cpp/absl/log/log_benchmark.cc +164 -0
  485. package/deps/abseil-cpp/absl/log/log_entry.cc +263 -0
  486. package/deps/abseil-cpp/absl/log/log_entry.h +223 -0
  487. package/deps/abseil-cpp/absl/log/log_entry_test.cc +468 -0
  488. package/deps/abseil-cpp/absl/log/log_format_test.cc +2261 -0
  489. package/deps/abseil-cpp/absl/log/log_macro_hygiene_test.cc +187 -0
  490. package/deps/abseil-cpp/absl/log/log_modifier_methods_test.cc +244 -0
  491. package/deps/abseil-cpp/absl/log/log_sink.cc +23 -0
  492. package/deps/abseil-cpp/absl/log/log_sink.h +71 -0
  493. package/deps/abseil-cpp/absl/log/log_sink_registry.h +64 -0
  494. package/deps/abseil-cpp/absl/log/log_sink_test.cc +418 -0
  495. package/deps/abseil-cpp/absl/log/log_streamer.h +181 -0
  496. package/deps/abseil-cpp/absl/log/log_streamer_test.cc +451 -0
  497. package/deps/abseil-cpp/absl/log/scoped_mock_log.cc +86 -0
  498. package/deps/abseil-cpp/absl/log/scoped_mock_log.h +203 -0
  499. package/deps/abseil-cpp/absl/log/scoped_mock_log_test.cc +295 -0
  500. package/deps/abseil-cpp/absl/log/stripping_test.cc +502 -0
  501. package/deps/abseil-cpp/absl/log/structured.h +75 -0
  502. package/deps/abseil-cpp/absl/log/structured_test.cc +64 -0
  503. package/deps/abseil-cpp/absl/log/vlog_is_on.h +74 -0
  504. package/deps/abseil-cpp/absl/log/vlog_is_on_test.cc +233 -0
  505. package/deps/abseil-cpp/absl/memory/BUILD.bazel +62 -0
  506. package/deps/abseil-cpp/absl/memory/CMakeLists.txt +41 -0
  507. package/deps/abseil-cpp/absl/memory/memory.h +278 -0
  508. package/deps/abseil-cpp/absl/memory/memory_test.cc +222 -0
  509. package/deps/abseil-cpp/absl/meta/BUILD.bazel +112 -0
  510. package/deps/abseil-cpp/absl/meta/CMakeLists.txt +100 -0
  511. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing.h +73 -0
  512. package/deps/abseil-cpp/absl/meta/internal/constexpr_testing_test.cc +40 -0
  513. package/deps/abseil-cpp/absl/meta/internal/requires.h +67 -0
  514. package/deps/abseil-cpp/absl/meta/internal/requires_test.cc +66 -0
  515. package/deps/abseil-cpp/absl/meta/type_traits.h +582 -0
  516. package/deps/abseil-cpp/absl/meta/type_traits_test.cc +378 -0
  517. package/deps/abseil-cpp/absl/numeric/BUILD.bazel +145 -0
  518. package/deps/abseil-cpp/absl/numeric/CMakeLists.txt +104 -0
  519. package/deps/abseil-cpp/absl/numeric/bits.h +262 -0
  520. package/deps/abseil-cpp/absl/numeric/bits_benchmark.cc +73 -0
  521. package/deps/abseil-cpp/absl/numeric/bits_test.cc +724 -0
  522. package/deps/abseil-cpp/absl/numeric/int128.cc +344 -0
  523. package/deps/abseil-cpp/absl/numeric/int128.h +1224 -0
  524. package/deps/abseil-cpp/absl/numeric/int128_benchmark.cc +281 -0
  525. package/deps/abseil-cpp/absl/numeric/int128_have_intrinsic.inc +303 -0
  526. package/deps/abseil-cpp/absl/numeric/int128_no_intrinsic.inc +347 -0
  527. package/deps/abseil-cpp/absl/numeric/int128_stream_test.cc +1400 -0
  528. package/deps/abseil-cpp/absl/numeric/int128_test.cc +1407 -0
  529. package/deps/abseil-cpp/absl/numeric/internal/bits.h +394 -0
  530. package/deps/abseil-cpp/absl/numeric/internal/representation.h +55 -0
  531. package/deps/abseil-cpp/absl/profiling/BUILD.bazel +188 -0
  532. package/deps/abseil-cpp/absl/profiling/CMakeLists.txt +132 -0
  533. package/deps/abseil-cpp/absl/profiling/hashtable.cc +135 -0
  534. package/deps/abseil-cpp/absl/profiling/hashtable.h +40 -0
  535. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.cc +93 -0
  536. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased.h +130 -0
  537. package/deps/abseil-cpp/absl/profiling/internal/exponential_biased_test.cc +203 -0
  538. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.cc +53 -0
  539. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler.h +211 -0
  540. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_benchmark.cc +79 -0
  541. package/deps/abseil-cpp/absl/profiling/internal/periodic_sampler_test.cc +177 -0
  542. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.cc +463 -0
  543. package/deps/abseil-cpp/absl/profiling/internal/profile_builder.h +161 -0
  544. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder.h +253 -0
  545. package/deps/abseil-cpp/absl/profiling/internal/sample_recorder_test.cc +188 -0
  546. package/deps/abseil-cpp/absl/random/BUILD.bazel +550 -0
  547. package/deps/abseil-cpp/absl/random/CMakeLists.txt +1250 -0
  548. package/deps/abseil-cpp/absl/random/benchmarks.cc +376 -0
  549. package/deps/abseil-cpp/absl/random/bernoulli_distribution.h +202 -0
  550. package/deps/abseil-cpp/absl/random/bernoulli_distribution_test.cc +217 -0
  551. package/deps/abseil-cpp/absl/random/beta_distribution.h +429 -0
  552. package/deps/abseil-cpp/absl/random/beta_distribution_test.cc +615 -0
  553. package/deps/abseil-cpp/absl/random/bit_gen_ref.h +187 -0
  554. package/deps/abseil-cpp/absl/random/bit_gen_ref_test.cc +107 -0
  555. package/deps/abseil-cpp/absl/random/discrete_distribution.cc +108 -0
  556. package/deps/abseil-cpp/absl/random/discrete_distribution.h +249 -0
  557. package/deps/abseil-cpp/absl/random/discrete_distribution_test.cc +251 -0
  558. package/deps/abseil-cpp/absl/random/distributions.h +450 -0
  559. package/deps/abseil-cpp/absl/random/distributions_test.cc +516 -0
  560. package/deps/abseil-cpp/absl/random/examples_test.cc +98 -0
  561. package/deps/abseil-cpp/absl/random/exponential_distribution.h +166 -0
  562. package/deps/abseil-cpp/absl/random/exponential_distribution_test.cc +426 -0
  563. package/deps/abseil-cpp/absl/random/gaussian_distribution.cc +104 -0
  564. package/deps/abseil-cpp/absl/random/gaussian_distribution.h +276 -0
  565. package/deps/abseil-cpp/absl/random/gaussian_distribution_test.cc +561 -0
  566. package/deps/abseil-cpp/absl/random/generators_test.cc +185 -0
  567. package/deps/abseil-cpp/absl/random/internal/BUILD.bazel +863 -0
  568. package/deps/abseil-cpp/absl/random/internal/chi_square.cc +230 -0
  569. package/deps/abseil-cpp/absl/random/internal/chi_square.h +89 -0
  570. package/deps/abseil-cpp/absl/random/internal/chi_square_test.cc +364 -0
  571. package/deps/abseil-cpp/absl/random/internal/distribution_caller.h +96 -0
  572. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.cc +418 -0
  573. package/deps/abseil-cpp/absl/random/internal/distribution_test_util.h +113 -0
  574. package/deps/abseil-cpp/absl/random/internal/distribution_test_util_test.cc +193 -0
  575. package/deps/abseil-cpp/absl/random/internal/entropy_pool.cc +185 -0
  576. package/deps/abseil-cpp/absl/random/internal/entropy_pool.h +35 -0
  577. package/deps/abseil-cpp/absl/random/internal/entropy_pool_test.cc +119 -0
  578. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq.h +92 -0
  579. package/deps/abseil-cpp/absl/random/internal/explicit_seed_seq_test.cc +241 -0
  580. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits.h +271 -0
  581. package/deps/abseil-cpp/absl/random/internal/fast_uniform_bits_test.cc +336 -0
  582. package/deps/abseil-cpp/absl/random/internal/fastmath.h +57 -0
  583. package/deps/abseil-cpp/absl/random/internal/fastmath_test.cc +95 -0
  584. package/deps/abseil-cpp/absl/random/internal/gaussian_distribution_gentables.cc +142 -0
  585. package/deps/abseil-cpp/absl/random/internal/generate_real.h +144 -0
  586. package/deps/abseil-cpp/absl/random/internal/generate_real_test.cc +496 -0
  587. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver.h +248 -0
  588. package/deps/abseil-cpp/absl/random/internal/iostream_state_saver_test.cc +373 -0
  589. package/deps/abseil-cpp/absl/random/internal/mock_helpers.h +160 -0
  590. package/deps/abseil-cpp/absl/random/internal/mock_overload_set.h +122 -0
  591. package/deps/abseil-cpp/absl/random/internal/mock_validators.h +98 -0
  592. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.cc +804 -0
  593. package/deps/abseil-cpp/absl/random/internal/nanobenchmark.h +172 -0
  594. package/deps/abseil-cpp/absl/random/internal/nanobenchmark_test.cc +79 -0
  595. package/deps/abseil-cpp/absl/random/internal/nonsecure_base.h +160 -0
  596. package/deps/abseil-cpp/absl/random/internal/nonsecure_base_test.cc +267 -0
  597. package/deps/abseil-cpp/absl/random/internal/pcg_engine.h +287 -0
  598. package/deps/abseil-cpp/absl/random/internal/pcg_engine_test.cc +638 -0
  599. package/deps/abseil-cpp/absl/random/internal/platform.h +158 -0
  600. package/deps/abseil-cpp/absl/random/internal/randen.cc +91 -0
  601. package/deps/abseil-cpp/absl/random/internal/randen.h +96 -0
  602. package/deps/abseil-cpp/absl/random/internal/randen_benchmarks.cc +177 -0
  603. package/deps/abseil-cpp/absl/random/internal/randen_detect.cc +280 -0
  604. package/deps/abseil-cpp/absl/random/internal/randen_detect.h +33 -0
  605. package/deps/abseil-cpp/absl/random/internal/randen_engine.h +265 -0
  606. package/deps/abseil-cpp/absl/random/internal/randen_engine_test.cc +654 -0
  607. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.cc +526 -0
  608. package/deps/abseil-cpp/absl/random/internal/randen_hwaes.h +50 -0
  609. package/deps/abseil-cpp/absl/random/internal/randen_hwaes_test.cc +99 -0
  610. package/deps/abseil-cpp/absl/random/internal/randen_round_keys.cc +462 -0
  611. package/deps/abseil-cpp/absl/random/internal/randen_slow.cc +471 -0
  612. package/deps/abseil-cpp/absl/random/internal/randen_slow.h +40 -0
  613. package/deps/abseil-cpp/absl/random/internal/randen_slow_test.cc +61 -0
  614. package/deps/abseil-cpp/absl/random/internal/randen_test.cc +75 -0
  615. package/deps/abseil-cpp/absl/random/internal/randen_traits.h +88 -0
  616. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq.h +165 -0
  617. package/deps/abseil-cpp/absl/random/internal/salted_seed_seq_test.cc +172 -0
  618. package/deps/abseil-cpp/absl/random/internal/seed_material.cc +249 -0
  619. package/deps/abseil-cpp/absl/random/internal/seed_material.h +104 -0
  620. package/deps/abseil-cpp/absl/random/internal/seed_material_test.cc +205 -0
  621. package/deps/abseil-cpp/absl/random/internal/sequence_urbg.h +60 -0
  622. package/deps/abseil-cpp/absl/random/internal/traits.h +149 -0
  623. package/deps/abseil-cpp/absl/random/internal/traits_test.cc +123 -0
  624. package/deps/abseil-cpp/absl/random/internal/uniform_helper.h +244 -0
  625. package/deps/abseil-cpp/absl/random/internal/uniform_helper_test.cc +279 -0
  626. package/deps/abseil-cpp/absl/random/internal/wide_multiply.h +95 -0
  627. package/deps/abseil-cpp/absl/random/internal/wide_multiply_test.cc +119 -0
  628. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution.h +253 -0
  629. package/deps/abseil-cpp/absl/random/log_uniform_int_distribution_test.cc +277 -0
  630. package/deps/abseil-cpp/absl/random/mock_distributions.h +269 -0
  631. package/deps/abseil-cpp/absl/random/mock_distributions_test.cc +281 -0
  632. package/deps/abseil-cpp/absl/random/mocking_bit_gen.h +237 -0
  633. package/deps/abseil-cpp/absl/random/mocking_bit_gen_test.cc +403 -0
  634. package/deps/abseil-cpp/absl/random/poisson_distribution.h +262 -0
  635. package/deps/abseil-cpp/absl/random/poisson_distribution_test.cc +569 -0
  636. package/deps/abseil-cpp/absl/random/random.h +224 -0
  637. package/deps/abseil-cpp/absl/random/seed_gen_exception.cc +45 -0
  638. package/deps/abseil-cpp/absl/random/seed_gen_exception.h +55 -0
  639. package/deps/abseil-cpp/absl/random/seed_sequences.cc +33 -0
  640. package/deps/abseil-cpp/absl/random/seed_sequences.h +112 -0
  641. package/deps/abseil-cpp/absl/random/seed_sequences_test.cc +126 -0
  642. package/deps/abseil-cpp/absl/random/uniform_int_distribution.h +276 -0
  643. package/deps/abseil-cpp/absl/random/uniform_int_distribution_test.cc +259 -0
  644. package/deps/abseil-cpp/absl/random/uniform_real_distribution.h +204 -0
  645. package/deps/abseil-cpp/absl/random/uniform_real_distribution_test.cc +394 -0
  646. package/deps/abseil-cpp/absl/random/zipf_distribution.h +273 -0
  647. package/deps/abseil-cpp/absl/random/zipf_distribution_test.cc +423 -0
  648. package/deps/abseil-cpp/absl/status/BUILD.bazel +211 -0
  649. package/deps/abseil-cpp/absl/status/CMakeLists.txt +159 -0
  650. package/deps/abseil-cpp/absl/status/internal/status_internal.cc +251 -0
  651. package/deps/abseil-cpp/absl/status/internal/status_internal.h +133 -0
  652. package/deps/abseil-cpp/absl/status/internal/status_matchers.cc +69 -0
  653. package/deps/abseil-cpp/absl/status/internal/status_matchers.h +246 -0
  654. package/deps/abseil-cpp/absl/status/internal/statusor_internal.h +657 -0
  655. package/deps/abseil-cpp/absl/status/status.cc +421 -0
  656. package/deps/abseil-cpp/absl/status/status.h +948 -0
  657. package/deps/abseil-cpp/absl/status/status_benchmark.cc +37 -0
  658. package/deps/abseil-cpp/absl/status/status_matchers.h +166 -0
  659. package/deps/abseil-cpp/absl/status/status_matchers_test.cc +211 -0
  660. package/deps/abseil-cpp/absl/status/status_payload_printer.cc +36 -0
  661. package/deps/abseil-cpp/absl/status/status_payload_printer.h +52 -0
  662. package/deps/abseil-cpp/absl/status/status_test.cc +580 -0
  663. package/deps/abseil-cpp/absl/status/statusor.cc +106 -0
  664. package/deps/abseil-cpp/absl/status/statusor.h +743 -0
  665. package/deps/abseil-cpp/absl/status/statusor_benchmark.cc +480 -0
  666. package/deps/abseil-cpp/absl/status/statusor_test.cc +2124 -0
  667. package/deps/abseil-cpp/absl/strings/BUILD.bazel +1593 -0
  668. package/deps/abseil-cpp/absl/strings/CMakeLists.txt +1295 -0
  669. package/deps/abseil-cpp/absl/strings/ascii.cc +296 -0
  670. package/deps/abseil-cpp/absl/strings/ascii.h +289 -0
  671. package/deps/abseil-cpp/absl/strings/ascii_benchmark.cc +157 -0
  672. package/deps/abseil-cpp/absl/strings/ascii_test.cc +374 -0
  673. package/deps/abseil-cpp/absl/strings/atod_manual_test.cc +193 -0
  674. package/deps/abseil-cpp/absl/strings/char_formatting_test.cc +169 -0
  675. package/deps/abseil-cpp/absl/strings/charconv.cc +1442 -0
  676. package/deps/abseil-cpp/absl/strings/charconv.h +123 -0
  677. package/deps/abseil-cpp/absl/strings/charconv_benchmark.cc +203 -0
  678. package/deps/abseil-cpp/absl/strings/charconv_test.cc +787 -0
  679. package/deps/abseil-cpp/absl/strings/charset.h +163 -0
  680. package/deps/abseil-cpp/absl/strings/charset_benchmark.cc +57 -0
  681. package/deps/abseil-cpp/absl/strings/charset_test.cc +181 -0
  682. package/deps/abseil-cpp/absl/strings/cord.cc +1582 -0
  683. package/deps/abseil-cpp/absl/strings/cord.h +1763 -0
  684. package/deps/abseil-cpp/absl/strings/cord_analysis.cc +196 -0
  685. package/deps/abseil-cpp/absl/strings/cord_analysis.h +63 -0
  686. package/deps/abseil-cpp/absl/strings/cord_buffer.h +572 -0
  687. package/deps/abseil-cpp/absl/strings/cord_buffer_test.cc +322 -0
  688. package/deps/abseil-cpp/absl/strings/cord_test.cc +3421 -0
  689. package/deps/abseil-cpp/absl/strings/cord_test_helpers.h +122 -0
  690. package/deps/abseil-cpp/absl/strings/cordz_test.cc +468 -0
  691. package/deps/abseil-cpp/absl/strings/cordz_test_helpers.h +152 -0
  692. package/deps/abseil-cpp/absl/strings/escaping.cc +1035 -0
  693. package/deps/abseil-cpp/absl/strings/escaping.h +185 -0
  694. package/deps/abseil-cpp/absl/strings/escaping_benchmark.cc +124 -0
  695. package/deps/abseil-cpp/absl/strings/escaping_test.cc +760 -0
  696. package/deps/abseil-cpp/absl/strings/has_absl_stringify.h +64 -0
  697. package/deps/abseil-cpp/absl/strings/has_absl_stringify_test.cc +40 -0
  698. package/deps/abseil-cpp/absl/strings/has_ostream_operator.h +42 -0
  699. package/deps/abseil-cpp/absl/strings/has_ostream_operator_test.cc +41 -0
  700. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite.h +93 -0
  701. package/deps/abseil-cpp/absl/strings/internal/append_and_overwrite_test.cc +95 -0
  702. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.cc +357 -0
  703. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint.h +433 -0
  704. package/deps/abseil-cpp/absl/strings/internal/charconv_bigint_test.cc +260 -0
  705. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.cc +504 -0
  706. package/deps/abseil-cpp/absl/strings/internal/charconv_parse.h +99 -0
  707. package/deps/abseil-cpp/absl/strings/internal/charconv_parse_test.cc +357 -0
  708. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge.h +63 -0
  709. package/deps/abseil-cpp/absl/strings/internal/cord_data_edge_test.cc +130 -0
  710. package/deps/abseil-cpp/absl/strings/internal/cord_internal.cc +70 -0
  711. package/deps/abseil-cpp/absl/strings/internal/cord_internal.h +942 -0
  712. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.cc +1237 -0
  713. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree.h +944 -0
  714. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.cc +187 -0
  715. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator.h +267 -0
  716. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_navigator_test.cc +346 -0
  717. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.cc +69 -0
  718. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader.h +212 -0
  719. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_reader_test.cc +293 -0
  720. package/deps/abseil-cpp/absl/strings/internal/cord_rep_btree_test.cc +1568 -0
  721. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.cc +64 -0
  722. package/deps/abseil-cpp/absl/strings/internal/cord_rep_consume.h +47 -0
  723. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.cc +56 -0
  724. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc.h +103 -0
  725. package/deps/abseil-cpp/absl/strings/internal/cord_rep_crc_test.cc +130 -0
  726. package/deps/abseil-cpp/absl/strings/internal/cord_rep_flat.h +195 -0
  727. package/deps/abseil-cpp/absl/strings/internal/cord_rep_test_util.h +205 -0
  728. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.cc +102 -0
  729. package/deps/abseil-cpp/absl/strings/internal/cordz_functions.h +87 -0
  730. package/deps/abseil-cpp/absl/strings/internal/cordz_functions_test.cc +147 -0
  731. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.cc +165 -0
  732. package/deps/abseil-cpp/absl/strings/internal/cordz_handle.h +98 -0
  733. package/deps/abseil-cpp/absl/strings/internal/cordz_handle_test.cc +265 -0
  734. package/deps/abseil-cpp/absl/strings/internal/cordz_info.cc +424 -0
  735. package/deps/abseil-cpp/absl/strings/internal/cordz_info.h +295 -0
  736. package/deps/abseil-cpp/absl/strings/internal/cordz_info_statistics_test.cc +510 -0
  737. package/deps/abseil-cpp/absl/strings/internal/cordz_info_test.cc +342 -0
  738. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.cc +64 -0
  739. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token.h +97 -0
  740. package/deps/abseil-cpp/absl/strings/internal/cordz_sample_token_test.cc +208 -0
  741. package/deps/abseil-cpp/absl/strings/internal/cordz_statistics.h +88 -0
  742. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope.h +71 -0
  743. package/deps/abseil-cpp/absl/strings/internal/cordz_update_scope_test.cc +49 -0
  744. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker.h +123 -0
  745. package/deps/abseil-cpp/absl/strings/internal/cordz_update_tracker_test.cc +147 -0
  746. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.cc +99 -0
  747. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance.h +35 -0
  748. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_benchmark.cc +56 -0
  749. package/deps/abseil-cpp/absl/strings/internal/damerau_levenshtein_distance_test.cc +99 -0
  750. package/deps/abseil-cpp/absl/strings/internal/escaping.cc +209 -0
  751. package/deps/abseil-cpp/absl/strings/internal/escaping.h +59 -0
  752. package/deps/abseil-cpp/absl/strings/internal/escaping_test_common.h +133 -0
  753. package/deps/abseil-cpp/absl/strings/internal/generic_printer.cc +107 -0
  754. package/deps/abseil-cpp/absl/strings/internal/generic_printer.h +115 -0
  755. package/deps/abseil-cpp/absl/strings/internal/generic_printer_internal.h +423 -0
  756. package/deps/abseil-cpp/absl/strings/internal/generic_printer_test.cc +685 -0
  757. package/deps/abseil-cpp/absl/strings/internal/memutil.cc +48 -0
  758. package/deps/abseil-cpp/absl/strings/internal/memutil.h +40 -0
  759. package/deps/abseil-cpp/absl/strings/internal/memutil_benchmark.cc +127 -0
  760. package/deps/abseil-cpp/absl/strings/internal/memutil_test.cc +41 -0
  761. package/deps/abseil-cpp/absl/strings/internal/numbers_test_common.h +184 -0
  762. package/deps/abseil-cpp/absl/strings/internal/ostringstream.cc +43 -0
  763. package/deps/abseil-cpp/absl/strings/internal/ostringstream.h +114 -0
  764. package/deps/abseil-cpp/absl/strings/internal/ostringstream_benchmark.cc +105 -0
  765. package/deps/abseil-cpp/absl/strings/internal/ostringstream_test.cc +131 -0
  766. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.cc +122 -0
  767. package/deps/abseil-cpp/absl/strings/internal/pow10_helper.h +40 -0
  768. package/deps/abseil-cpp/absl/strings/internal/pow10_helper_test.cc +122 -0
  769. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized.h +119 -0
  770. package/deps/abseil-cpp/absl/strings/internal/resize_uninitialized_test.cc +108 -0
  771. package/deps/abseil-cpp/absl/strings/internal/stl_type_traits.h +248 -0
  772. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.cc +615 -0
  773. package/deps/abseil-cpp/absl/strings/internal/str_format/arg.h +661 -0
  774. package/deps/abseil-cpp/absl/strings/internal/str_format/arg_test.cc +162 -0
  775. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.cc +275 -0
  776. package/deps/abseil-cpp/absl/strings/internal/str_format/bind.h +237 -0
  777. package/deps/abseil-cpp/absl/strings/internal/str_format/bind_test.cc +157 -0
  778. package/deps/abseil-cpp/absl/strings/internal/str_format/checker.h +98 -0
  779. package/deps/abseil-cpp/absl/strings/internal/str_format/checker_test.cc +176 -0
  780. package/deps/abseil-cpp/absl/strings/internal/str_format/constexpr_parser.h +357 -0
  781. package/deps/abseil-cpp/absl/strings/internal/str_format/convert_test.cc +1471 -0
  782. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.cc +53 -0
  783. package/deps/abseil-cpp/absl/strings/internal/str_format/extension.h +456 -0
  784. package/deps/abseil-cpp/absl/strings/internal/str_format/extension_test.cc +110 -0
  785. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.cc +1945 -0
  786. package/deps/abseil-cpp/absl/strings/internal/str_format/float_conversion.h +37 -0
  787. package/deps/abseil-cpp/absl/strings/internal/str_format/output.cc +74 -0
  788. package/deps/abseil-cpp/absl/strings/internal/str_format/output.h +97 -0
  789. package/deps/abseil-cpp/absl/strings/internal/str_format/output_test.cc +79 -0
  790. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.cc +140 -0
  791. package/deps/abseil-cpp/absl/strings/internal/str_format/parser.h +271 -0
  792. package/deps/abseil-cpp/absl/strings/internal/str_format/parser_test.cc +446 -0
  793. package/deps/abseil-cpp/absl/strings/internal/str_join_internal.h +341 -0
  794. package/deps/abseil-cpp/absl/strings/internal/str_split_internal.h +525 -0
  795. package/deps/abseil-cpp/absl/strings/internal/string_constant.h +67 -0
  796. package/deps/abseil-cpp/absl/strings/internal/string_constant_test.cc +60 -0
  797. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.cc +28 -0
  798. package/deps/abseil-cpp/absl/strings/internal/stringify_sink.h +57 -0
  799. package/deps/abseil-cpp/absl/strings/internal/utf8.cc +148 -0
  800. package/deps/abseil-cpp/absl/strings/internal/utf8.h +64 -0
  801. package/deps/abseil-cpp/absl/strings/internal/utf8_test.cc +259 -0
  802. package/deps/abseil-cpp/absl/strings/match.cc +133 -0
  803. package/deps/abseil-cpp/absl/strings/match.h +129 -0
  804. package/deps/abseil-cpp/absl/strings/match_test.cc +291 -0
  805. package/deps/abseil-cpp/absl/strings/numbers.cc +1230 -0
  806. package/deps/abseil-cpp/absl/strings/numbers.h +359 -0
  807. package/deps/abseil-cpp/absl/strings/numbers_benchmark.cc +288 -0
  808. package/deps/abseil-cpp/absl/strings/numbers_test.cc +2324 -0
  809. package/deps/abseil-cpp/absl/strings/resize_and_overwrite.h +194 -0
  810. package/deps/abseil-cpp/absl/strings/resize_and_overwrite_test.cc +154 -0
  811. package/deps/abseil-cpp/absl/strings/str_cat.cc +247 -0
  812. package/deps/abseil-cpp/absl/strings/str_cat.h +633 -0
  813. package/deps/abseil-cpp/absl/strings/str_cat_benchmark.cc +288 -0
  814. package/deps/abseil-cpp/absl/strings/str_cat_test.cc +692 -0
  815. package/deps/abseil-cpp/absl/strings/str_format.h +887 -0
  816. package/deps/abseil-cpp/absl/strings/str_format_test.cc +1230 -0
  817. package/deps/abseil-cpp/absl/strings/str_join.h +301 -0
  818. package/deps/abseil-cpp/absl/strings/str_join_benchmark.cc +106 -0
  819. package/deps/abseil-cpp/absl/strings/str_join_test.cc +645 -0
  820. package/deps/abseil-cpp/absl/strings/str_replace.cc +91 -0
  821. package/deps/abseil-cpp/absl/strings/str_replace.h +222 -0
  822. package/deps/abseil-cpp/absl/strings/str_replace_benchmark.cc +121 -0
  823. package/deps/abseil-cpp/absl/strings/str_replace_test.cc +345 -0
  824. package/deps/abseil-cpp/absl/strings/str_split.cc +144 -0
  825. package/deps/abseil-cpp/absl/strings/str_split.h +582 -0
  826. package/deps/abseil-cpp/absl/strings/str_split_benchmark.cc +180 -0
  827. package/deps/abseil-cpp/absl/strings/str_split_test.cc +1069 -0
  828. package/deps/abseil-cpp/absl/strings/string_view.h +60 -0
  829. package/deps/abseil-cpp/absl/strings/string_view_test.cc +86 -0
  830. package/deps/abseil-cpp/absl/strings/strip.h +99 -0
  831. package/deps/abseil-cpp/absl/strings/strip_test.cc +198 -0
  832. package/deps/abseil-cpp/absl/strings/substitute.cc +187 -0
  833. package/deps/abseil-cpp/absl/strings/substitute.h +769 -0
  834. package/deps/abseil-cpp/absl/strings/substitute_benchmark.cc +158 -0
  835. package/deps/abseil-cpp/absl/strings/substitute_test.cc +288 -0
  836. package/deps/abseil-cpp/absl/synchronization/BUILD.bazel +410 -0
  837. package/deps/abseil-cpp/absl/synchronization/CMakeLists.txt +293 -0
  838. package/deps/abseil-cpp/absl/synchronization/barrier.cc +52 -0
  839. package/deps/abseil-cpp/absl/synchronization/barrier.h +79 -0
  840. package/deps/abseil-cpp/absl/synchronization/barrier_test.cc +75 -0
  841. package/deps/abseil-cpp/absl/synchronization/blocking_counter.cc +73 -0
  842. package/deps/abseil-cpp/absl/synchronization/blocking_counter.h +107 -0
  843. package/deps/abseil-cpp/absl/synchronization/blocking_counter_benchmark.cc +84 -0
  844. package/deps/abseil-cpp/absl/synchronization/blocking_counter_test.cc +146 -0
  845. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.cc +152 -0
  846. package/deps/abseil-cpp/absl/synchronization/internal/create_thread_identity.h +56 -0
  847. package/deps/abseil-cpp/absl/synchronization/internal/futex.h +177 -0
  848. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.cc +107 -0
  849. package/deps/abseil-cpp/absl/synchronization/internal/futex_waiter.h +63 -0
  850. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.cc +714 -0
  851. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles.h +146 -0
  852. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_benchmark.cc +43 -0
  853. package/deps/abseil-cpp/absl/synchronization/internal/graphcycles_test.cc +483 -0
  854. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.cc +220 -0
  855. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout.h +178 -0
  856. package/deps/abseil-cpp/absl/synchronization/internal/kernel_timeout_test.cc +406 -0
  857. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.cc +106 -0
  858. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem.h +119 -0
  859. package/deps/abseil-cpp/absl/synchronization/internal/per_thread_sem_test.cc +194 -0
  860. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.cc +163 -0
  861. package/deps/abseil-cpp/absl/synchronization/internal/pthread_waiter.h +60 -0
  862. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.cc +118 -0
  863. package/deps/abseil-cpp/absl/synchronization/internal/sem_waiter.h +65 -0
  864. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.cc +87 -0
  865. package/deps/abseil-cpp/absl/synchronization/internal/stdcpp_waiter.h +56 -0
  866. package/deps/abseil-cpp/absl/synchronization/internal/thread_pool.h +96 -0
  867. package/deps/abseil-cpp/absl/synchronization/internal/waiter.h +69 -0
  868. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.cc +38 -0
  869. package/deps/abseil-cpp/absl/synchronization/internal/waiter_base.h +90 -0
  870. package/deps/abseil-cpp/absl/synchronization/internal/waiter_test.cc +192 -0
  871. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.cc +147 -0
  872. package/deps/abseil-cpp/absl/synchronization/internal/win32_waiter.h +72 -0
  873. package/deps/abseil-cpp/absl/synchronization/lifetime_test.cc +180 -0
  874. package/deps/abseil-cpp/absl/synchronization/mutex.cc +2820 -0
  875. package/deps/abseil-cpp/absl/synchronization/mutex.h +1352 -0
  876. package/deps/abseil-cpp/absl/synchronization/mutex_benchmark.cc +321 -0
  877. package/deps/abseil-cpp/absl/synchronization/mutex_method_pointer_test.cc +138 -0
  878. package/deps/abseil-cpp/absl/synchronization/mutex_test.cc +2065 -0
  879. package/deps/abseil-cpp/absl/synchronization/notification.cc +85 -0
  880. package/deps/abseil-cpp/absl/synchronization/notification.h +133 -0
  881. package/deps/abseil-cpp/absl/synchronization/notification_test.cc +230 -0
  882. package/deps/abseil-cpp/absl/time/BUILD.bazel +244 -0
  883. package/deps/abseil-cpp/absl/time/CMakeLists.txt +218 -0
  884. package/deps/abseil-cpp/absl/time/civil_time.cc +200 -0
  885. package/deps/abseil-cpp/absl/time/civil_time.h +589 -0
  886. package/deps/abseil-cpp/absl/time/civil_time_benchmark.cc +129 -0
  887. package/deps/abseil-cpp/absl/time/civil_time_test.cc +1351 -0
  888. package/deps/abseil-cpp/absl/time/clock.cc +603 -0
  889. package/deps/abseil-cpp/absl/time/clock.h +78 -0
  890. package/deps/abseil-cpp/absl/time/clock_benchmark.cc +74 -0
  891. package/deps/abseil-cpp/absl/time/clock_interface.cc +71 -0
  892. package/deps/abseil-cpp/absl/time/clock_interface.h +91 -0
  893. package/deps/abseil-cpp/absl/time/clock_interface_test.cc +128 -0
  894. package/deps/abseil-cpp/absl/time/clock_test.cc +122 -0
  895. package/deps/abseil-cpp/absl/time/duration.cc +918 -0
  896. package/deps/abseil-cpp/absl/time/duration_benchmark.cc +608 -0
  897. package/deps/abseil-cpp/absl/time/duration_test.cc +1901 -0
  898. package/deps/abseil-cpp/absl/time/flag_test.cc +147 -0
  899. package/deps/abseil-cpp/absl/time/format.cc +162 -0
  900. package/deps/abseil-cpp/absl/time/format_benchmark.cc +64 -0
  901. package/deps/abseil-cpp/absl/time/format_test.cc +441 -0
  902. package/deps/abseil-cpp/absl/time/internal/cctz/BUILD.bazel +195 -0
  903. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time.h +332 -0
  904. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/civil_time_detail.h +644 -0
  905. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/time_zone.h +460 -0
  906. package/deps/abseil-cpp/absl/time/internal/cctz/include/cctz/zone_info_source.h +102 -0
  907. package/deps/abseil-cpp/absl/time/internal/cctz/src/cctz_benchmark.cc +436 -0
  908. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_detail.cc +94 -0
  909. package/deps/abseil-cpp/absl/time/internal/cctz/src/civil_time_test.cc +1066 -0
  910. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.cc +515 -0
  911. package/deps/abseil-cpp/absl/time/internal/cctz/src/test_time_zone_names.h +33 -0
  912. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.cc +140 -0
  913. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_fixed.h +52 -0
  914. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format.cc +1068 -0
  915. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_format_test.cc +1773 -0
  916. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.cc +47 -0
  917. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_if.h +80 -0
  918. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.cc +115 -0
  919. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_impl.h +97 -0
  920. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.cc +1070 -0
  921. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_info.h +128 -0
  922. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.cc +333 -0
  923. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_libc.h +60 -0
  924. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup.cc +217 -0
  925. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_lookup_test.cc +918 -0
  926. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.cc +186 -0
  927. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_name_win.h +37 -0
  928. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.cc +159 -0
  929. package/deps/abseil-cpp/absl/time/internal/cctz/src/time_zone_posix.h +132 -0
  930. package/deps/abseil-cpp/absl/time/internal/cctz/src/tzfile.h +120 -0
  931. package/deps/abseil-cpp/absl/time/internal/cctz/src/zone_info_source.cc +116 -0
  932. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/README.zoneinfo +38 -0
  933. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/version +1 -0
  934. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Abidjan +0 -0
  935. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Accra +0 -0
  936. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Addis_Ababa +0 -0
  937. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Algiers +0 -0
  938. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmara +0 -0
  939. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Asmera +0 -0
  940. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bamako +0 -0
  941. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bangui +0 -0
  942. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Banjul +0 -0
  943. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bissau +0 -0
  944. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Blantyre +0 -0
  945. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Brazzaville +0 -0
  946. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Bujumbura +0 -0
  947. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Cairo +0 -0
  948. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Casablanca +0 -0
  949. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ceuta +0 -0
  950. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Conakry +0 -0
  951. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dakar +0 -0
  952. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Dar_es_Salaam +0 -0
  953. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Djibouti +0 -0
  954. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Douala +0 -0
  955. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/El_Aaiun +0 -0
  956. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Freetown +0 -0
  957. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Gaborone +0 -0
  958. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Harare +0 -0
  959. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Johannesburg +0 -0
  960. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Juba +0 -0
  961. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kampala +0 -0
  962. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Khartoum +0 -0
  963. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kigali +0 -0
  964. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Kinshasa +0 -0
  965. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lagos +0 -0
  966. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Libreville +0 -0
  967. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lome +0 -0
  968. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Luanda +0 -0
  969. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lubumbashi +0 -0
  970. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Lusaka +0 -0
  971. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Malabo +0 -0
  972. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maputo +0 -0
  973. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Maseru +0 -0
  974. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mbabane +0 -0
  975. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Mogadishu +0 -0
  976. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Monrovia +0 -0
  977. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nairobi +0 -0
  978. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ndjamena +0 -0
  979. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Niamey +0 -0
  980. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Nouakchott +0 -0
  981. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Ouagadougou +0 -0
  982. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Porto-Novo +0 -0
  983. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Sao_Tome +0 -0
  984. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Timbuktu +0 -0
  985. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tripoli +0 -0
  986. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Tunis +0 -0
  987. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Africa/Windhoek +0 -0
  988. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Adak +0 -0
  989. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anchorage +0 -0
  990. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Anguilla +0 -0
  991. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Antigua +0 -0
  992. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Araguaina +0 -0
  993. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Buenos_Aires +0 -0
  994. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Catamarca +0 -0
  995. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/ComodRivadavia +0 -0
  996. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Cordoba +0 -0
  997. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Jujuy +0 -0
  998. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/La_Rioja +0 -0
  999. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Mendoza +0 -0
  1000. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Rio_Gallegos +0 -0
  1001. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Salta +0 -0
  1002. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Juan +0 -0
  1003. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/San_Luis +0 -0
  1004. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Tucuman +0 -0
  1005. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Argentina/Ushuaia +0 -0
  1006. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Aruba +0 -0
  1007. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Asuncion +0 -0
  1008. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atikokan +0 -0
  1009. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Atka +0 -0
  1010. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia +0 -0
  1011. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bahia_Banderas +0 -0
  1012. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Barbados +0 -0
  1013. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belem +0 -0
  1014. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Belize +0 -0
  1015. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Blanc-Sablon +0 -0
  1016. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boa_Vista +0 -0
  1017. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Bogota +0 -0
  1018. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Boise +0 -0
  1019. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Buenos_Aires +0 -0
  1020. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cambridge_Bay +0 -0
  1021. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Campo_Grande +0 -0
  1022. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cancun +0 -0
  1023. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Caracas +0 -0
  1024. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Catamarca +0 -0
  1025. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayenne +0 -0
  1026. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cayman +0 -0
  1027. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chicago +0 -0
  1028. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Chihuahua +0 -0
  1029. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ciudad_Juarez +0 -0
  1030. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coral_Harbour +0 -0
  1031. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cordoba +0 -0
  1032. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Costa_Rica +0 -0
  1033. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Coyhaique +0 -0
  1034. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Creston +0 -0
  1035. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Cuiaba +0 -0
  1036. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Curacao +0 -0
  1037. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Danmarkshavn +0 -0
  1038. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson +0 -0
  1039. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dawson_Creek +0 -0
  1040. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Denver +0 -0
  1041. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Detroit +0 -0
  1042. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Dominica +0 -0
  1043. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Edmonton +0 -0
  1044. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Eirunepe +0 -0
  1045. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/El_Salvador +0 -0
  1046. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ensenada +0 -0
  1047. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Nelson +0 -0
  1048. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fort_Wayne +0 -0
  1049. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Fortaleza +0 -0
  1050. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Glace_Bay +0 -0
  1051. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Godthab +0 -0
  1052. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Goose_Bay +0 -0
  1053. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grand_Turk +0 -0
  1054. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Grenada +0 -0
  1055. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guadeloupe +0 -0
  1056. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guatemala +0 -0
  1057. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guayaquil +0 -0
  1058. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Guyana +0 -0
  1059. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Halifax +0 -0
  1060. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Havana +0 -0
  1061. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Hermosillo +0 -0
  1062. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Indianapolis +0 -0
  1063. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Knox +0 -0
  1064. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Marengo +0 -0
  1065. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Petersburg +0 -0
  1066. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Tell_City +0 -0
  1067. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vevay +0 -0
  1068. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Vincennes +0 -0
  1069. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indiana/Winamac +0 -0
  1070. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Indianapolis +0 -0
  1071. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Inuvik +0 -0
  1072. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Iqaluit +0 -0
  1073. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jamaica +0 -0
  1074. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Jujuy +0 -0
  1075. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Juneau +0 -0
  1076. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Louisville +0 -0
  1077. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kentucky/Monticello +0 -0
  1078. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Knox_IN +0 -0
  1079. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Kralendijk +0 -0
  1080. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/La_Paz +0 -0
  1081. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lima +0 -0
  1082. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Los_Angeles +0 -0
  1083. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Louisville +0 -0
  1084. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Lower_Princes +0 -0
  1085. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Maceio +0 -0
  1086. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Managua +0 -0
  1087. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Manaus +0 -0
  1088. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Marigot +0 -0
  1089. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Martinique +0 -0
  1090. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Matamoros +0 -0
  1091. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mazatlan +0 -0
  1092. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mendoza +0 -0
  1093. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Menominee +0 -0
  1094. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Merida +0 -0
  1095. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Metlakatla +0 -0
  1096. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Mexico_City +0 -0
  1097. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Miquelon +0 -0
  1098. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Moncton +0 -0
  1099. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Monterrey +0 -0
  1100. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montevideo +0 -0
  1101. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montreal +0 -0
  1102. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Montserrat +0 -0
  1103. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nassau +0 -0
  1104. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/New_York +0 -0
  1105. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nipigon +0 -0
  1106. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nome +0 -0
  1107. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Noronha +0 -0
  1108. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Beulah +0 -0
  1109. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/Center +0 -0
  1110. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/North_Dakota/New_Salem +0 -0
  1111. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Nuuk +0 -0
  1112. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Ojinaga +0 -0
  1113. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Panama +0 -0
  1114. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Pangnirtung +0 -0
  1115. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Paramaribo +0 -0
  1116. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Phoenix +0 -0
  1117. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port-au-Prince +0 -0
  1118. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Port_of_Spain +0 -0
  1119. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Acre +0 -0
  1120. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Porto_Velho +0 -0
  1121. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Puerto_Rico +0 -0
  1122. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Punta_Arenas +0 -0
  1123. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rainy_River +0 -0
  1124. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rankin_Inlet +0 -0
  1125. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Recife +0 -0
  1126. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Regina +0 -0
  1127. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Resolute +0 -0
  1128. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rio_Branco +0 -0
  1129. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Rosario +0 -0
  1130. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santa_Isabel +0 -0
  1131. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santarem +0 -0
  1132. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santiago +0 -0
  1133. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Santo_Domingo +0 -0
  1134. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sao_Paulo +0 -0
  1135. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Scoresbysund +0 -0
  1136. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Shiprock +0 -0
  1137. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Sitka +0 -0
  1138. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Barthelemy +0 -0
  1139. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Johns +0 -0
  1140. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Kitts +0 -0
  1141. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Lucia +0 -0
  1142. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Thomas +0 -0
  1143. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/St_Vincent +0 -0
  1144. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Swift_Current +0 -0
  1145. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tegucigalpa +0 -0
  1146. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thule +0 -0
  1147. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Thunder_Bay +0 -0
  1148. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tijuana +0 -0
  1149. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Toronto +0 -0
  1150. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Tortola +0 -0
  1151. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Vancouver +0 -0
  1152. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Virgin +0 -0
  1153. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Whitehorse +0 -0
  1154. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Winnipeg +0 -0
  1155. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yakutat +0 -0
  1156. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/America/Yellowknife +0 -0
  1157. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Casey +0 -0
  1158. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Davis +0 -0
  1159. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/DumontDUrville +0 -0
  1160. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Macquarie +0 -0
  1161. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Mawson +0 -0
  1162. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/McMurdo +0 -0
  1163. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Palmer +0 -0
  1164. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Rothera +0 -0
  1165. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/South_Pole +0 -0
  1166. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Syowa +0 -0
  1167. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Troll +0 -0
  1168. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Antarctica/Vostok +0 -0
  1169. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Arctic/Longyearbyen +0 -0
  1170. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aden +0 -0
  1171. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Almaty +0 -0
  1172. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Amman +0 -0
  1173. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Anadyr +0 -0
  1174. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtau +0 -0
  1175. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Aqtobe +0 -0
  1176. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashgabat +0 -0
  1177. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ashkhabad +0 -0
  1178. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Atyrau +0 -0
  1179. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baghdad +0 -0
  1180. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bahrain +0 -0
  1181. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Baku +0 -0
  1182. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bangkok +0 -0
  1183. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Barnaul +0 -0
  1184. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Beirut +0 -0
  1185. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Bishkek +0 -0
  1186. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Brunei +0 -0
  1187. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Calcutta +0 -0
  1188. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chita +0 -0
  1189. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Choibalsan +0 -0
  1190. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chongqing +0 -0
  1191. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Chungking +0 -0
  1192. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Colombo +0 -0
  1193. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dacca +0 -0
  1194. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Damascus +0 -0
  1195. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dhaka +0 -0
  1196. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dili +0 -0
  1197. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dubai +0 -0
  1198. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Dushanbe +0 -0
  1199. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Famagusta +0 -0
  1200. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Gaza +0 -0
  1201. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Harbin +0 -0
  1202. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hebron +0 -0
  1203. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ho_Chi_Minh +0 -0
  1204. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hong_Kong +0 -0
  1205. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Hovd +0 -0
  1206. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Irkutsk +0 -0
  1207. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Istanbul +0 -0
  1208. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jakarta +0 -0
  1209. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jayapura +0 -0
  1210. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Jerusalem +0 -0
  1211. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kabul +0 -0
  1212. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kamchatka +0 -0
  1213. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Karachi +0 -0
  1214. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kashgar +0 -0
  1215. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kathmandu +0 -0
  1216. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Katmandu +0 -0
  1217. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Khandyga +0 -0
  1218. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kolkata +0 -0
  1219. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Krasnoyarsk +0 -0
  1220. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuala_Lumpur +0 -0
  1221. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuching +0 -0
  1222. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Kuwait +0 -0
  1223. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macao +0 -0
  1224. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Macau +0 -0
  1225. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Magadan +0 -0
  1226. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Makassar +0 -0
  1227. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Manila +0 -0
  1228. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Muscat +0 -0
  1229. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Nicosia +0 -0
  1230. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novokuznetsk +0 -0
  1231. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Novosibirsk +0 -0
  1232. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Omsk +0 -0
  1233. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Oral +0 -0
  1234. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Phnom_Penh +0 -0
  1235. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pontianak +0 -0
  1236. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Pyongyang +0 -0
  1237. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qatar +0 -0
  1238. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qostanay +0 -0
  1239. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Qyzylorda +0 -0
  1240. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Rangoon +0 -0
  1241. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Riyadh +0 -0
  1242. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Saigon +0 -0
  1243. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Sakhalin +0 -0
  1244. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Samarkand +0 -0
  1245. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Seoul +0 -0
  1246. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Shanghai +0 -0
  1247. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Singapore +0 -0
  1248. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Srednekolymsk +0 -0
  1249. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Taipei +0 -0
  1250. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tashkent +0 -0
  1251. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tbilisi +0 -0
  1252. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tehran +0 -0
  1253. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tel_Aviv +0 -0
  1254. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimbu +0 -0
  1255. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Thimphu +0 -0
  1256. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tokyo +0 -0
  1257. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Tomsk +0 -0
  1258. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ujung_Pandang +0 -0
  1259. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulaanbaatar +0 -0
  1260. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ulan_Bator +0 -0
  1261. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Urumqi +0 -0
  1262. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Ust-Nera +0 -0
  1263. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vientiane +0 -0
  1264. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Vladivostok +0 -0
  1265. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yakutsk +0 -0
  1266. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yangon +0 -0
  1267. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yekaterinburg +0 -0
  1268. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Asia/Yerevan +0 -0
  1269. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Azores +0 -0
  1270. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Bermuda +0 -0
  1271. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Canary +0 -0
  1272. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Cape_Verde +0 -0
  1273. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faeroe +0 -0
  1274. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Faroe +0 -0
  1275. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Jan_Mayen +0 -0
  1276. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Madeira +0 -0
  1277. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Reykjavik +0 -0
  1278. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/South_Georgia +0 -0
  1279. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/St_Helena +0 -0
  1280. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Atlantic/Stanley +0 -0
  1281. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/ACT +0 -0
  1282. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Adelaide +0 -0
  1283. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Brisbane +0 -0
  1284. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Broken_Hill +0 -0
  1285. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Canberra +0 -0
  1286. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Currie +0 -0
  1287. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Darwin +0 -0
  1288. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Eucla +0 -0
  1289. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Hobart +0 -0
  1290. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/LHI +0 -0
  1291. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lindeman +0 -0
  1292. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Lord_Howe +0 -0
  1293. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Melbourne +0 -0
  1294. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/NSW +0 -0
  1295. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/North +0 -0
  1296. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Perth +0 -0
  1297. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Queensland +0 -0
  1298. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/South +0 -0
  1299. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Sydney +0 -0
  1300. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Tasmania +0 -0
  1301. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Victoria +0 -0
  1302. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/West +0 -0
  1303. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Australia/Yancowinna +0 -0
  1304. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/Acre +0 -0
  1305. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/DeNoronha +0 -0
  1306. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/East +0 -0
  1307. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Brazil/West +0 -0
  1308. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CET +0 -0
  1309. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/CST6CDT +0 -0
  1310. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Atlantic +0 -0
  1311. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Central +0 -0
  1312. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Eastern +0 -0
  1313. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Mountain +0 -0
  1314. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Newfoundland +0 -0
  1315. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Pacific +0 -0
  1316. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Saskatchewan +0 -0
  1317. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Canada/Yukon +0 -0
  1318. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/Continental +0 -0
  1319. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Chile/EasterIsland +0 -0
  1320. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Cuba +0 -0
  1321. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EET +0 -0
  1322. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST +0 -0
  1323. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/EST5EDT +0 -0
  1324. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Egypt +0 -0
  1325. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Eire +0 -0
  1326. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT +0 -0
  1327. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+0 +0 -0
  1328. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+1 +0 -0
  1329. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+10 +0 -0
  1330. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+11 +0 -0
  1331. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+12 +0 -0
  1332. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+2 +0 -0
  1333. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+3 +0 -0
  1334. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+4 +0 -0
  1335. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+5 +0 -0
  1336. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+6 +0 -0
  1337. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+7 +0 -0
  1338. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+8 +0 -0
  1339. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT+9 +0 -0
  1340. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-0 +0 -0
  1341. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-1 +0 -0
  1342. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-10 +0 -0
  1343. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-11 +0 -0
  1344. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-12 +0 -0
  1345. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-13 +0 -0
  1346. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-14 +0 -0
  1347. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-2 +0 -0
  1348. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-3 +0 -0
  1349. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-4 +0 -0
  1350. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-5 +0 -0
  1351. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-6 +0 -0
  1352. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-7 +0 -0
  1353. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-8 +0 -0
  1354. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT-9 +0 -0
  1355. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/GMT0 +0 -0
  1356. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Greenwich +0 -0
  1357. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UCT +0 -0
  1358. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/UTC +0 -0
  1359. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Universal +0 -0
  1360. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Etc/Zulu +0 -0
  1361. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Amsterdam +0 -0
  1362. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Andorra +0 -0
  1363. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Astrakhan +0 -0
  1364. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Athens +0 -0
  1365. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belfast +0 -0
  1366. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Belgrade +0 -0
  1367. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Berlin +0 -0
  1368. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bratislava +0 -0
  1369. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Brussels +0 -0
  1370. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Bucharest +0 -0
  1371. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Budapest +0 -0
  1372. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Busingen +0 -0
  1373. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Chisinau +0 -0
  1374. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Copenhagen +0 -0
  1375. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Dublin +0 -0
  1376. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Gibraltar +0 -0
  1377. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Guernsey +0 -0
  1378. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Helsinki +0 -0
  1379. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Isle_of_Man +0 -0
  1380. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Istanbul +0 -0
  1381. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Jersey +0 -0
  1382. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kaliningrad +0 -0
  1383. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kiev +0 -0
  1384. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kirov +0 -0
  1385. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Kyiv +0 -0
  1386. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Lisbon +0 -0
  1387. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ljubljana +0 -0
  1388. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/London +0 -0
  1389. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Luxembourg +0 -0
  1390. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Madrid +0 -0
  1391. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Malta +0 -0
  1392. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Mariehamn +0 -0
  1393. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Minsk +0 -0
  1394. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Monaco +0 -0
  1395. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Moscow +0 -0
  1396. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Nicosia +0 -0
  1397. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Oslo +0 -0
  1398. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Paris +0 -0
  1399. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Podgorica +0 -0
  1400. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Prague +0 -0
  1401. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Riga +0 -0
  1402. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Rome +0 -0
  1403. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Samara +0 -0
  1404. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/San_Marino +0 -0
  1405. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sarajevo +0 -0
  1406. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Saratov +0 -0
  1407. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Simferopol +0 -0
  1408. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Skopje +0 -0
  1409. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Sofia +0 -0
  1410. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Stockholm +0 -0
  1411. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tallinn +0 -0
  1412. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tirane +0 -0
  1413. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Tiraspol +0 -0
  1414. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Ulyanovsk +0 -0
  1415. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Uzhgorod +0 -0
  1416. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vaduz +0 -0
  1417. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vatican +0 -0
  1418. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vienna +0 -0
  1419. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Vilnius +0 -0
  1420. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Volgograd +0 -0
  1421. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Warsaw +0 -0
  1422. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zagreb +0 -0
  1423. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zaporozhye +0 -0
  1424. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Europe/Zurich +0 -0
  1425. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Factory +0 -0
  1426. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB +0 -0
  1427. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GB-Eire +0 -0
  1428. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT +0 -0
  1429. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT+0 +0 -0
  1430. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT-0 +0 -0
  1431. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/GMT0 +0 -0
  1432. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Greenwich +0 -0
  1433. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/HST +0 -0
  1434. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Hongkong +0 -0
  1435. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iceland +0 -0
  1436. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Antananarivo +0 -0
  1437. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Chagos +0 -0
  1438. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Christmas +0 -0
  1439. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Cocos +0 -0
  1440. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Comoro +0 -0
  1441. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Kerguelen +0 -0
  1442. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mahe +0 -0
  1443. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Maldives +0 -0
  1444. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mauritius +0 -0
  1445. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Mayotte +0 -0
  1446. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Indian/Reunion +0 -0
  1447. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Iran +0 -0
  1448. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Israel +0 -0
  1449. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Jamaica +0 -0
  1450. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Japan +0 -0
  1451. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Kwajalein +0 -0
  1452. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Libya +0 -0
  1453. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MET +0 -0
  1454. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST +0 -0
  1455. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/MST7MDT +0 -0
  1456. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaNorte +0 -0
  1457. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/BajaSur +0 -0
  1458. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Mexico/General +0 -0
  1459. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ +0 -0
  1460. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/NZ-CHAT +0 -0
  1461. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Navajo +0 -0
  1462. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PRC +0 -0
  1463. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/PST8PDT +0 -0
  1464. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Apia +0 -0
  1465. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Auckland +0 -0
  1466. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Bougainville +0 -0
  1467. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chatham +0 -0
  1468. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Chuuk +0 -0
  1469. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Easter +0 -0
  1470. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Efate +0 -0
  1471. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Enderbury +0 -0
  1472. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fakaofo +0 -0
  1473. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Fiji +0 -0
  1474. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Funafuti +0 -0
  1475. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Galapagos +0 -0
  1476. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Gambier +0 -0
  1477. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guadalcanal +0 -0
  1478. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Guam +0 -0
  1479. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Honolulu +0 -0
  1480. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Johnston +0 -0
  1481. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kanton +0 -0
  1482. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kiritimati +0 -0
  1483. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kosrae +0 -0
  1484. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Kwajalein +0 -0
  1485. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Majuro +0 -0
  1486. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Marquesas +0 -0
  1487. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Midway +0 -0
  1488. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Nauru +0 -0
  1489. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Niue +0 -0
  1490. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Norfolk +0 -0
  1491. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Noumea +0 -0
  1492. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pago_Pago +0 -0
  1493. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Palau +0 -0
  1494. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pitcairn +0 -0
  1495. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Pohnpei +0 -0
  1496. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Ponape +0 -0
  1497. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Port_Moresby +0 -0
  1498. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Rarotonga +0 -0
  1499. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Saipan +0 -0
  1500. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Samoa +0 -0
  1501. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tahiti +0 -0
  1502. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tarawa +0 -0
  1503. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Tongatapu +0 -0
  1504. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Truk +0 -0
  1505. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wake +0 -0
  1506. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Wallis +0 -0
  1507. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Pacific/Yap +0 -0
  1508. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Poland +0 -0
  1509. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Portugal +0 -0
  1510. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROC +0 -0
  1511. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/ROK +0 -0
  1512. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Singapore +0 -0
  1513. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Turkey +0 -0
  1514. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UCT +0 -0
  1515. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Alaska +0 -0
  1516. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Aleutian +0 -0
  1517. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Arizona +0 -0
  1518. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Central +0 -0
  1519. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/East-Indiana +0 -0
  1520. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Eastern +0 -0
  1521. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Hawaii +0 -0
  1522. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Indiana-Starke +0 -0
  1523. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Michigan +0 -0
  1524. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Mountain +0 -0
  1525. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Pacific +0 -0
  1526. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/US/Samoa +0 -0
  1527. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/UTC +0 -0
  1528. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Universal +0 -0
  1529. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/W-SU +0 -0
  1530. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/WET +0 -0
  1531. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/Zulu +0 -0
  1532. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/iso3166.tab +279 -0
  1533. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zone1970.tab +375 -0
  1534. package/deps/abseil-cpp/absl/time/internal/cctz/testdata/zoneinfo/zonenow.tab +296 -0
  1535. package/deps/abseil-cpp/absl/time/internal/get_current_time_chrono.inc +31 -0
  1536. package/deps/abseil-cpp/absl/time/internal/get_current_time_posix.inc +24 -0
  1537. package/deps/abseil-cpp/absl/time/internal/test_util.cc +32 -0
  1538. package/deps/abseil-cpp/absl/time/internal/test_util.h +33 -0
  1539. package/deps/abseil-cpp/absl/time/simulated_clock.cc +225 -0
  1540. package/deps/abseil-cpp/absl/time/simulated_clock.h +108 -0
  1541. package/deps/abseil-cpp/absl/time/simulated_clock_test.cc +614 -0
  1542. package/deps/abseil-cpp/absl/time/time.cc +507 -0
  1543. package/deps/abseil-cpp/absl/time/time.h +1926 -0
  1544. package/deps/abseil-cpp/absl/time/time_benchmark.cc +321 -0
  1545. package/deps/abseil-cpp/absl/time/time_test.cc +1365 -0
  1546. package/deps/abseil-cpp/absl/time/time_zone_test.cc +97 -0
  1547. package/deps/abseil-cpp/absl/types/BUILD.bazel +166 -0
  1548. package/deps/abseil-cpp/absl/types/CMakeLists.txt +179 -0
  1549. package/deps/abseil-cpp/absl/types/any.h +44 -0
  1550. package/deps/abseil-cpp/absl/types/compare.h +506 -0
  1551. package/deps/abseil-cpp/absl/types/compare_test.cc +300 -0
  1552. package/deps/abseil-cpp/absl/types/internal/span.h +141 -0
  1553. package/deps/abseil-cpp/absl/types/optional.h +41 -0
  1554. package/deps/abseil-cpp/absl/types/span.h +830 -0
  1555. package/deps/abseil-cpp/absl/types/span_test.cc +915 -0
  1556. package/deps/abseil-cpp/absl/types/variant.h +82 -0
  1557. package/deps/abseil-cpp/absl/types/variant_test.cc +164 -0
  1558. package/deps/abseil-cpp/absl/utility/BUILD.bazel +46 -0
  1559. package/deps/abseil-cpp/absl/utility/CMakeLists.txt +28 -0
  1560. package/deps/abseil-cpp/absl/utility/utility.h +68 -0
  1561. package/deps/abseil-cpp/ci/absl_alternate_options.h +28 -0
  1562. package/deps/abseil-cpp/ci/cmake_common.sh +19 -0
  1563. package/deps/abseil-cpp/ci/cmake_install_test.sh +64 -0
  1564. package/deps/abseil-cpp/ci/linux_arm_clang-latest_libcxx_bazel.sh +106 -0
  1565. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_asan_bazel.sh +114 -0
  1566. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_bazel.sh +107 -0
  1567. package/deps/abseil-cpp/ci/linux_clang-latest_libcxx_tsan_bazel.sh +106 -0
  1568. package/deps/abseil-cpp/ci/linux_clang-latest_libstdcxx_bazel.sh +104 -0
  1569. package/deps/abseil-cpp/ci/linux_docker_containers.sh +22 -0
  1570. package/deps/abseil-cpp/ci/linux_gcc-floor_libstdcxx_bazel.sh +100 -0
  1571. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_bazel.sh +105 -0
  1572. package/deps/abseil-cpp/ci/linux_gcc-latest_libstdcxx_cmake.sh +85 -0
  1573. package/deps/abseil-cpp/ci/linux_gcc_alpine_cmake.sh +85 -0
  1574. package/deps/abseil-cpp/ci/macos_xcode_bazel.sh +70 -0
  1575. package/deps/abseil-cpp/ci/macos_xcode_cmake.sh +78 -0
  1576. package/deps/abseil-cpp/ci/windows_clangcl_bazel.bat +70 -0
  1577. package/deps/abseil-cpp/ci/windows_msvc_bazel.bat +61 -0
  1578. package/deps/abseil-cpp/ci/windows_msvc_cmake.bat +69 -0
  1579. package/deps/abseil-cpp/conanfile.py +51 -0
  1580. package/deps/abseil-cpp/create_lts.py +139 -0
  1581. package/deps/re2/.bazelrc +20 -0
  1582. package/deps/re2/.bcr/metadata.template.json +16 -0
  1583. package/deps/re2/.bcr/presubmit.yml +57 -0
  1584. package/deps/re2/.bcr/source.template.json +5 -0
  1585. package/deps/re2/BUILD.bazel +463 -0
  1586. package/deps/re2/CMakeLists.txt +283 -0
  1587. package/deps/re2/LICENSE +27 -0
  1588. package/deps/re2/MODULE.bazel +29 -0
  1589. package/deps/re2/Makefile +408 -0
  1590. package/deps/re2/WORKSPACE.bazel +7 -0
  1591. package/deps/re2/WORKSPACE.bzlmod +7 -0
  1592. package/deps/re2/app/BUILD.bazel +24 -0
  1593. package/deps/re2/app/_re2.cc +94 -0
  1594. package/deps/re2/app/_re2.d.ts +23 -0
  1595. package/deps/re2/app/app.ts +111 -0
  1596. package/deps/re2/app/build.sh +32 -0
  1597. package/deps/re2/app/index.html +5 -0
  1598. package/deps/re2/app/package.json +14 -0
  1599. package/deps/re2/app/rollup.config.js +28 -0
  1600. package/deps/re2/app/tsconfig.json +17 -0
  1601. package/deps/re2/benchlog/benchplot.py +98 -0
  1602. package/deps/re2/benchlog/mktable +155 -0
  1603. package/deps/re2/doc/mksyntaxgo +42 -0
  1604. package/deps/re2/doc/mksyntaxhtml +42 -0
  1605. package/deps/re2/doc/mksyntaxwiki +36 -0
  1606. package/deps/re2/doc/syntax.html +477 -0
  1607. package/deps/re2/doc/syntax.txt +463 -0
  1608. package/deps/re2/lib/git/commit-msg.hook +104 -0
  1609. package/deps/re2/libre2.symbols +16 -0
  1610. package/deps/re2/libre2.symbols.darwin +12 -0
  1611. package/deps/re2/python/BUILD.bazel +80 -0
  1612. package/deps/re2/python/_re2.cc +352 -0
  1613. package/deps/re2/python/re2.py +583 -0
  1614. package/deps/re2/python/re2_test.py +495 -0
  1615. package/deps/re2/python/setup.py +159 -0
  1616. package/deps/re2/python/toolchains/generate.py +100 -0
  1617. package/deps/re2/re2/bitmap256.cc +43 -0
  1618. package/deps/re2/re2/bitmap256.h +88 -0
  1619. package/deps/re2/re2/bitstate.cc +389 -0
  1620. package/deps/re2/re2/compile.cc +1265 -0
  1621. package/deps/re2/re2/dfa.cc +2135 -0
  1622. package/deps/re2/re2/filtered_re2.cc +138 -0
  1623. package/deps/re2/re2/filtered_re2.h +115 -0
  1624. package/deps/re2/re2/fuzzing/re2_fuzzer.cc +284 -0
  1625. package/deps/re2/re2/make_perl_groups.pl +116 -0
  1626. package/deps/re2/re2/make_unicode_casefold.py +151 -0
  1627. package/deps/re2/re2/make_unicode_groups.py +117 -0
  1628. package/deps/re2/re2/mimics_pcre.cc +196 -0
  1629. package/deps/re2/re2/nfa.cc +714 -0
  1630. package/deps/re2/re2/onepass.cc +623 -0
  1631. package/deps/re2/re2/parse.cc +2529 -0
  1632. package/deps/re2/re2/perl_groups.cc +119 -0
  1633. package/deps/re2/re2/pod_array.h +55 -0
  1634. package/deps/re2/re2/prefilter.cc +711 -0
  1635. package/deps/re2/re2/prefilter.h +168 -0
  1636. package/deps/re2/re2/prefilter_tree.cc +376 -0
  1637. package/deps/re2/re2/prefilter_tree.h +153 -0
  1638. package/deps/re2/re2/prog.cc +1181 -0
  1639. package/deps/re2/re2/prog.h +493 -0
  1640. package/deps/re2/re2/re2.cc +1355 -0
  1641. package/deps/re2/re2/re2.h +1074 -0
  1642. package/deps/re2/re2/regexp.cc +1004 -0
  1643. package/deps/re2/re2/regexp.h +693 -0
  1644. package/deps/re2/re2/set.cc +185 -0
  1645. package/deps/re2/re2/set.h +91 -0
  1646. package/deps/re2/re2/simplify.cc +689 -0
  1647. package/deps/re2/re2/sparse_array.h +394 -0
  1648. package/deps/re2/re2/sparse_set.h +266 -0
  1649. package/deps/re2/re2/stringpiece.h +18 -0
  1650. package/deps/re2/re2/testing/backtrack.cc +274 -0
  1651. package/deps/re2/re2/testing/charclass_test.cc +228 -0
  1652. package/deps/re2/re2/testing/compile_test.cc +431 -0
  1653. package/deps/re2/re2/testing/dfa_test.cc +376 -0
  1654. package/deps/re2/re2/testing/dump.cc +172 -0
  1655. package/deps/re2/re2/testing/exhaustive1_test.cc +40 -0
  1656. package/deps/re2/re2/testing/exhaustive2_test.cc +72 -0
  1657. package/deps/re2/re2/testing/exhaustive3_test.cc +100 -0
  1658. package/deps/re2/re2/testing/exhaustive_test.cc +35 -0
  1659. package/deps/re2/re2/testing/exhaustive_tester.cc +204 -0
  1660. package/deps/re2/re2/testing/exhaustive_tester.h +105 -0
  1661. package/deps/re2/re2/testing/filtered_re2_test.cc +343 -0
  1662. package/deps/re2/re2/testing/mimics_pcre_test.cc +79 -0
  1663. package/deps/re2/re2/testing/null_walker.cc +48 -0
  1664. package/deps/re2/re2/testing/parse_test.cc +586 -0
  1665. package/deps/re2/re2/testing/possible_match_test.cc +251 -0
  1666. package/deps/re2/re2/testing/random_test.cc +102 -0
  1667. package/deps/re2/re2/testing/re2_arg_test.cc +182 -0
  1668. package/deps/re2/re2/testing/re2_test.cc +1699 -0
  1669. package/deps/re2/re2/testing/regexp_benchmark.cc +1605 -0
  1670. package/deps/re2/re2/testing/regexp_generator.cc +284 -0
  1671. package/deps/re2/re2/testing/regexp_generator.h +77 -0
  1672. package/deps/re2/re2/testing/regexp_test.cc +87 -0
  1673. package/deps/re2/re2/testing/required_prefix_test.cc +201 -0
  1674. package/deps/re2/re2/testing/search_test.cc +338 -0
  1675. package/deps/re2/re2/testing/set_test.cc +235 -0
  1676. package/deps/re2/re2/testing/simplify_test.cc +289 -0
  1677. package/deps/re2/re2/testing/string_generator.cc +144 -0
  1678. package/deps/re2/re2/testing/string_generator.h +76 -0
  1679. package/deps/re2/re2/testing/string_generator_test.cc +114 -0
  1680. package/deps/re2/re2/testing/tester.cc +690 -0
  1681. package/deps/re2/re2/testing/tester.h +121 -0
  1682. package/deps/re2/re2/tostring.cc +351 -0
  1683. package/deps/re2/re2/unicode.py +284 -0
  1684. package/deps/re2/re2/unicode_casefold.cc +604 -0
  1685. package/deps/re2/re2/unicode_casefold.h +77 -0
  1686. package/deps/re2/re2/unicode_groups.cc +6517 -0
  1687. package/deps/re2/re2/unicode_groups.h +66 -0
  1688. package/deps/re2/re2/walker-inl.h +249 -0
  1689. package/deps/re2/re2.pc.in +9 -0
  1690. package/deps/re2/re2Config.cmake.in +26 -0
  1691. package/deps/re2/runtests +33 -0
  1692. package/deps/re2/testinstall.cc +27 -0
  1693. package/deps/re2/ucs2.diff +567 -0
  1694. package/deps/re2/util/malloc_counter.h +19 -0
  1695. package/deps/re2/util/pcre.cc +957 -0
  1696. package/deps/re2/util/pcre.h +671 -0
  1697. package/deps/re2/util/rune.cc +260 -0
  1698. package/deps/re2/util/strutil.cc +26 -0
  1699. package/deps/re2/util/strutil.h +16 -0
  1700. package/deps/re2/util/utf.h +44 -0
  1701. package/index.js +14 -5
  1702. package/package.json +1 -1
  1703. package/prebuilds/darwin-arm64/@nxtedition+rocksdb.node +0 -0
  1704. package/prebuilds/linux-x64/@nxtedition+rocksdb.node +0 -0
  1705. package/util.h +10 -16
@@ -0,0 +1,2278 @@
1
+ // Copyright 2019 The Abseil Authors.
2
+ //
3
+ // Licensed under the Apache License, Version 2.0 (the "License");
4
+ // you may not use this file except in compliance with the License.
5
+ // You may obtain a copy of the License at
6
+ //
7
+ // https://www.apache.org/licenses/LICENSE-2.0
8
+ //
9
+ // Unless required by applicable law or agreed to in writing, software
10
+ // distributed under the License is distributed on an "AS IS" BASIS,
11
+ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ // See the License for the specific language governing permissions and
13
+ // limitations under the License.
14
+
15
+ #include "absl/container/inlined_vector.h"
16
+
17
+ #include <algorithm>
18
+ #include <cstddef>
19
+ #include <forward_list>
20
+ #include <iterator>
21
+ #include <list>
22
+ #include <memory>
23
+ #include <scoped_allocator>
24
+ #include <sstream>
25
+ #include <stdexcept>
26
+ #include <string>
27
+ #include <utility>
28
+ #include <vector>
29
+
30
+ #include "gmock/gmock.h"
31
+ #include "gtest/gtest.h"
32
+ #include "absl/base/attributes.h"
33
+ #include "absl/base/internal/exception_testing.h"
34
+ #include "absl/base/internal/iterator_traits_test_helper.h"
35
+ #include "absl/base/macros.h"
36
+ #include "absl/base/options.h"
37
+ #include "absl/container/internal/test_allocator.h"
38
+ #include "absl/container/internal/test_instance_tracker.h"
39
+ #include "absl/hash/hash_testing.h"
40
+ #include "absl/log/check.h"
41
+ #include "absl/memory/memory.h"
42
+ #include "absl/strings/str_cat.h"
43
+
44
+ namespace {
45
+
46
+ using absl::container_internal::CountingAllocator;
47
+ using absl::test_internal::CopyableMovableInstance;
48
+ using absl::test_internal::CopyableOnlyInstance;
49
+ using absl::test_internal::InstanceTracker;
50
+ using testing::AllOf;
51
+ using testing::Each;
52
+ using testing::ElementsAre;
53
+ using testing::ElementsAreArray;
54
+ using testing::IsEmpty;
55
+ using testing::Eq;
56
+ using testing::Gt;
57
+ using testing::Pointee;
58
+ using testing::Pointwise;
59
+ using testing::PrintToString;
60
+ using testing::SizeIs;
61
+
62
+ using IntVec = absl::InlinedVector<int, 8>;
63
+
64
+ MATCHER_P(CapacityIs, n, "") {
65
+ return testing::ExplainMatchResult(n, arg.capacity(), result_listener);
66
+ }
67
+
68
+ MATCHER_P(ValueIs, e, "") {
69
+ return testing::ExplainMatchResult(e, arg.value(), result_listener);
70
+ }
71
+
72
+ // TODO(bsamwel): Add support for movable-only types.
73
+
74
+ // Test fixture for typed tests on BaseCountedInstance derived classes, see
75
+ // test_instance_tracker.h.
76
+ template <typename T>
77
+ class InstanceTest : public ::testing::Test {};
78
+ TYPED_TEST_SUITE_P(InstanceTest);
79
+
80
+ // A simple reference counted class to make sure that the proper elements are
81
+ // destroyed in the erase(begin, end) test.
82
+ class RefCounted {
83
+ public:
84
+ RefCounted(int value, int* count) : value_(value), count_(count) { Ref(); }
85
+
86
+ RefCounted(const RefCounted& v) : value_(v.value_), count_(v.count_) {
87
+ Ref();
88
+ }
89
+
90
+ ~RefCounted() {
91
+ Unref();
92
+ count_ = nullptr;
93
+ }
94
+
95
+ friend void swap(RefCounted& a, RefCounted& b) {
96
+ using std::swap;
97
+ swap(a.value_, b.value_);
98
+ swap(a.count_, b.count_);
99
+ }
100
+
101
+ RefCounted& operator=(RefCounted v) {
102
+ using std::swap;
103
+ swap(*this, v);
104
+ return *this;
105
+ }
106
+
107
+ void Ref() const {
108
+ CHECK_NE(count_, nullptr);
109
+ ++(*count_);
110
+ }
111
+
112
+ void Unref() const {
113
+ --(*count_);
114
+ CHECK_GE(*count_, 0);
115
+ }
116
+
117
+ int value_;
118
+ int* count_;
119
+ };
120
+
121
+ using RefCountedVec = absl::InlinedVector<RefCounted, 8>;
122
+
123
+ // A class with a vtable pointer
124
+ class Dynamic {
125
+ public:
126
+ virtual ~Dynamic() {}
127
+ };
128
+
129
+ using DynamicVec = absl::InlinedVector<Dynamic, 8>;
130
+
131
+ // Append 0..len-1 to *v
132
+ template <typename Container>
133
+ static void Fill(Container* v, size_t len, int offset = 0) {
134
+ for (size_t i = 0; i < len; i++) {
135
+ v->push_back(static_cast<int>(i) + offset);
136
+ }
137
+ }
138
+
139
+ static IntVec Fill(size_t len, int offset = 0) {
140
+ IntVec v;
141
+ Fill(&v, len, offset);
142
+ return v;
143
+ }
144
+
145
+ TEST(IntVec, SimpleOps) {
146
+ for (size_t len = 0; len < 20; len++) {
147
+ IntVec v;
148
+ const IntVec& cv = v; // const alias
149
+
150
+ Fill(&v, len);
151
+ EXPECT_EQ(len, v.size());
152
+ EXPECT_LE(len, v.capacity());
153
+
154
+ for (size_t i = 0; i < len; i++) {
155
+ EXPECT_EQ(static_cast<int>(i), v[i]);
156
+ EXPECT_EQ(static_cast<int>(i), v.at(i));
157
+ }
158
+ EXPECT_EQ(v.begin(), v.data());
159
+ EXPECT_EQ(cv.begin(), cv.data());
160
+
161
+ size_t counter = 0;
162
+ for (IntVec::iterator iter = v.begin(); iter != v.end(); ++iter) {
163
+ EXPECT_EQ(static_cast<int>(counter), *iter);
164
+ counter++;
165
+ }
166
+ EXPECT_EQ(counter, len);
167
+
168
+ counter = 0;
169
+ for (IntVec::const_iterator iter = v.begin(); iter != v.end(); ++iter) {
170
+ EXPECT_EQ(static_cast<int>(counter), *iter);
171
+ counter++;
172
+ }
173
+ EXPECT_EQ(counter, len);
174
+
175
+ counter = 0;
176
+ for (IntVec::const_iterator iter = v.cbegin(); iter != v.cend(); ++iter) {
177
+ EXPECT_EQ(static_cast<int>(counter), *iter);
178
+ counter++;
179
+ }
180
+ EXPECT_EQ(counter, len);
181
+
182
+ if (len > 0) {
183
+ EXPECT_EQ(0, v.front());
184
+ EXPECT_EQ(static_cast<int>(len - 1), v.back());
185
+ v.pop_back();
186
+ EXPECT_EQ(len - 1, v.size());
187
+ for (size_t i = 0; i < v.size(); ++i) {
188
+ EXPECT_EQ(static_cast<int>(i), v[i]);
189
+ EXPECT_EQ(static_cast<int>(i), v.at(i));
190
+ }
191
+ }
192
+ }
193
+ }
194
+
195
+ TEST(IntVec, PopBackNoOverflow) {
196
+ IntVec v = {1};
197
+ v.pop_back();
198
+ EXPECT_EQ(v.size(), 0u);
199
+ }
200
+
201
+ TEST(IntVec, AtThrows) {
202
+ IntVec v = {1, 2, 3};
203
+ EXPECT_EQ(v.at(2), 3);
204
+ ABSL_BASE_INTERNAL_EXPECT_FAIL(v.at(3), std::out_of_range,
205
+ "failed bounds check");
206
+ }
207
+
208
+ TEST(IntVec, ReverseIterator) {
209
+ for (size_t len = 0; len < 20; len++) {
210
+ IntVec v;
211
+ Fill(&v, len);
212
+
213
+ size_t counter = len;
214
+ for (IntVec::reverse_iterator iter = v.rbegin(); iter != v.rend(); ++iter) {
215
+ counter--;
216
+ EXPECT_EQ(static_cast<int>(counter), *iter);
217
+ }
218
+ EXPECT_EQ(counter, 0u);
219
+
220
+ counter = len;
221
+ for (IntVec::const_reverse_iterator iter = v.rbegin(); iter != v.rend();
222
+ ++iter) {
223
+ counter--;
224
+ EXPECT_EQ(static_cast<int>(counter), *iter);
225
+ }
226
+ EXPECT_EQ(counter, 0u);
227
+
228
+ counter = len;
229
+ for (IntVec::const_reverse_iterator iter = v.crbegin(); iter != v.crend();
230
+ ++iter) {
231
+ counter--;
232
+ EXPECT_EQ(static_cast<int>(counter), *iter);
233
+ }
234
+ EXPECT_EQ(counter, 0u);
235
+ }
236
+ }
237
+
238
+ TEST(IntVec, Erase) {
239
+ for (size_t len = 1; len < 20; len++) {
240
+ for (size_t i = 0; i < len; ++i) {
241
+ IntVec v;
242
+ Fill(&v, len);
243
+ v.erase(v.begin() + i);
244
+ EXPECT_EQ(len - 1, v.size());
245
+ for (size_t j = 0; j < i; ++j) {
246
+ EXPECT_EQ(static_cast<int>(j), v[j]);
247
+ }
248
+ for (size_t j = i; j < len - 1; ++j) {
249
+ EXPECT_EQ(static_cast<int>(j + 1), v[j]);
250
+ }
251
+ }
252
+ }
253
+ }
254
+
255
+ TEST(IntVec, Hardened) {
256
+ IntVec v;
257
+ Fill(&v, 10);
258
+ EXPECT_EQ(v[9], 9);
259
+ #if !defined(NDEBUG) || ABSL_OPTION_HARDENED
260
+ EXPECT_DEATH_IF_SUPPORTED(v[10], "");
261
+ EXPECT_DEATH_IF_SUPPORTED(v[static_cast<size_t>(-1)], "");
262
+ EXPECT_DEATH_IF_SUPPORTED(v.resize(v.max_size() + 1), "");
263
+ #endif
264
+ }
265
+
266
+ // Move construction of a container of unique pointers should work fine, with no
267
+ // leaks, despite the fact that unique pointers are trivially relocatable but
268
+ // not trivially destructible.
269
+ TEST(UniquePtr, MoveConstruct) {
270
+ for (size_t size = 0; size < 16; ++size) {
271
+ SCOPED_TRACE(size);
272
+
273
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> a;
274
+ for (size_t i = 0; i < size; ++i) {
275
+ a.push_back(std::make_unique<size_t>(i));
276
+ }
277
+
278
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> b(std::move(a));
279
+
280
+ ASSERT_THAT(b, SizeIs(size));
281
+ for (size_t i = 0; i < size; ++i) {
282
+ ASSERT_THAT(b[i], Pointee(i));
283
+ }
284
+ }
285
+ }
286
+
287
+ // Move assignment of a container of unique pointers should work fine, with no
288
+ // leaks, despite the fact that unique pointers are trivially relocatable but
289
+ // not trivially destructible.
290
+ TEST(UniquePtr, MoveAssign) {
291
+ for (size_t size = 0; size < 16; ++size) {
292
+ SCOPED_TRACE(size);
293
+
294
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> a;
295
+ for (size_t i = 0; i < size; ++i) {
296
+ a.push_back(std::make_unique<size_t>(i));
297
+ }
298
+
299
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> b;
300
+ b = std::move(a);
301
+
302
+ ASSERT_THAT(b, SizeIs(size));
303
+ for (size_t i = 0; i < size; ++i) {
304
+ ASSERT_THAT(b[i], Pointee(i));
305
+ }
306
+ }
307
+ }
308
+
309
+ // Swapping containers of unique pointers should work fine, with no
310
+ // leaks, despite the fact that unique pointers are trivially relocatable but
311
+ // not trivially destructible.
312
+ // TODO(absl-team): Using unique_ptr here is technically correct, but
313
+ // a trivially relocatable struct would be less semantically confusing.
314
+ TEST(UniquePtr, Swap) {
315
+ for (size_t size1 = 0; size1 < 5; ++size1) {
316
+ for (size_t size2 = 0; size2 < 5; ++size2) {
317
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> a;
318
+ absl::InlinedVector<std::unique_ptr<size_t>, 2> b;
319
+ for (size_t i = 0; i < size1; ++i) {
320
+ a.push_back(std::make_unique<size_t>(i + 10));
321
+ }
322
+ for (size_t i = 0; i < size2; ++i) {
323
+ b.push_back(std::make_unique<size_t>(i + 20));
324
+ }
325
+ a.swap(b);
326
+ ASSERT_THAT(a, SizeIs(size2));
327
+ ASSERT_THAT(b, SizeIs(size1));
328
+ for (size_t i = 0; i < a.size(); ++i) {
329
+ ASSERT_THAT(a[i], Pointee(i + 20));
330
+ }
331
+ for (size_t i = 0; i < b.size(); ++i) {
332
+ ASSERT_THAT(b[i], Pointee(i + 10));
333
+ }
334
+ }
335
+ }
336
+ }
337
+
338
+ // Erasing from a container of unique pointers should work fine, with no
339
+ // leaks, despite the fact that unique pointers are trivially relocatable but
340
+ // not trivially destructible.
341
+ // TODO(absl-team): Using unique_ptr here is technically correct, but
342
+ // a trivially relocatable struct would be less semantically confusing.
343
+ TEST(UniquePtr, EraseSingle) {
344
+ for (size_t size = 4; size < 16; ++size) {
345
+ absl::InlinedVector<std::unique_ptr<size_t>, 8> a;
346
+ for (size_t i = 0; i < size; ++i) {
347
+ a.push_back(std::make_unique<size_t>(i));
348
+ }
349
+ a.erase(a.begin());
350
+ ASSERT_THAT(a, SizeIs(size - 1));
351
+ for (size_t i = 0; i < size - 1; ++i) {
352
+ ASSERT_THAT(a[i], Pointee(i + 1));
353
+ }
354
+ a.erase(a.begin() + 2);
355
+ ASSERT_THAT(a, SizeIs(size - 2));
356
+ ASSERT_THAT(a[0], Pointee(1));
357
+ ASSERT_THAT(a[1], Pointee(2));
358
+ for (size_t i = 2; i < size - 2; ++i) {
359
+ ASSERT_THAT(a[i], Pointee(i + 2));
360
+ }
361
+ }
362
+ }
363
+
364
+ // Erasing from a container of unique pointers should work fine, with no
365
+ // leaks, despite the fact that unique pointers are trivially relocatable but
366
+ // not trivially destructible.
367
+ // TODO(absl-team): Using unique_ptr here is technically correct, but
368
+ // a trivially relocatable struct would be less semantically confusing.
369
+ TEST(UniquePtr, EraseMulti) {
370
+ for (size_t size = 5; size < 16; ++size) {
371
+ absl::InlinedVector<std::unique_ptr<size_t>, 8> a;
372
+ for (size_t i = 0; i < size; ++i) {
373
+ a.push_back(std::make_unique<size_t>(i));
374
+ }
375
+ a.erase(a.begin(), a.begin() + 2);
376
+ ASSERT_THAT(a, SizeIs(size - 2));
377
+ for (size_t i = 0; i < size - 2; ++i) {
378
+ ASSERT_THAT(a[i], Pointee(i + 2));
379
+ }
380
+ a.erase(a.begin() + 1, a.begin() + 3);
381
+ ASSERT_THAT(a, SizeIs(size - 4));
382
+ ASSERT_THAT(a[0], Pointee(2));
383
+ for (size_t i = 1; i < size - 4; ++i) {
384
+ ASSERT_THAT(a[i], Pointee(i + 4));
385
+ }
386
+ }
387
+ }
388
+
389
+ // At the end of this test loop, the elements between [erase_begin, erase_end)
390
+ // should have reference counts == 0, and all others elements should have
391
+ // reference counts == 1.
392
+ TEST(RefCountedVec, EraseBeginEnd) {
393
+ for (size_t len = 1; len < 20; ++len) {
394
+ for (size_t erase_begin = 0; erase_begin < len; ++erase_begin) {
395
+ for (size_t erase_end = erase_begin; erase_end <= len; ++erase_end) {
396
+ std::vector<int> counts(len, 0);
397
+ RefCountedVec v;
398
+ for (size_t i = 0; i < len; ++i) {
399
+ v.push_back(RefCounted(static_cast<int>(i), &counts[i]));
400
+ }
401
+
402
+ size_t erase_len = erase_end - erase_begin;
403
+
404
+ v.erase(v.begin() + erase_begin, v.begin() + erase_end);
405
+
406
+ EXPECT_EQ(len - erase_len, v.size());
407
+
408
+ // Check the elements before the first element erased.
409
+ for (size_t i = 0; i < erase_begin; ++i) {
410
+ EXPECT_EQ(static_cast<int>(i), v[i].value_);
411
+ }
412
+
413
+ // Check the elements after the first element erased.
414
+ for (size_t i = erase_begin; i < v.size(); ++i) {
415
+ EXPECT_EQ(static_cast<int>(i + erase_len), v[i].value_);
416
+ }
417
+
418
+ // Check that the elements at the beginning are preserved.
419
+ for (size_t i = 0; i < erase_begin; ++i) {
420
+ EXPECT_EQ(1, counts[i]);
421
+ }
422
+
423
+ // Check that the erased elements are destroyed
424
+ for (size_t i = erase_begin; i < erase_end; ++i) {
425
+ EXPECT_EQ(0, counts[i]);
426
+ }
427
+
428
+ // Check that the elements at the end are preserved.
429
+ for (size_t i = erase_end; i < len; ++i) {
430
+ EXPECT_EQ(1, counts[i]);
431
+ }
432
+ }
433
+ }
434
+ }
435
+ }
436
+
437
+ struct NoDefaultCtor {
438
+ explicit NoDefaultCtor(int) {}
439
+ };
440
+ struct NoCopy {
441
+ NoCopy() {}
442
+ NoCopy(const NoCopy&) = delete;
443
+ };
444
+ struct NoAssign {
445
+ NoAssign() {}
446
+ NoAssign& operator=(const NoAssign&) = delete;
447
+ };
448
+ struct MoveOnly {
449
+ MoveOnly() {}
450
+ MoveOnly(MoveOnly&&) = default;
451
+ MoveOnly& operator=(MoveOnly&&) = default;
452
+ };
453
+ TEST(InlinedVectorTest, NoDefaultCtor) {
454
+ absl::InlinedVector<NoDefaultCtor, 1> v(10, NoDefaultCtor(2));
455
+ (void)v;
456
+ }
457
+ TEST(InlinedVectorTest, NoCopy) {
458
+ absl::InlinedVector<NoCopy, 1> v(10);
459
+ (void)v;
460
+ }
461
+ TEST(InlinedVectorTest, NoAssign) {
462
+ absl::InlinedVector<NoAssign, 1> v(10);
463
+ (void)v;
464
+ }
465
+ TEST(InlinedVectorTest, MoveOnly) {
466
+ absl::InlinedVector<MoveOnly, 2> v;
467
+ v.push_back(MoveOnly{});
468
+ v.push_back(MoveOnly{});
469
+ v.push_back(MoveOnly{});
470
+ v.erase(v.begin());
471
+ v.push_back(MoveOnly{});
472
+ v.erase(v.begin(), v.begin() + 1);
473
+ v.insert(v.begin(), MoveOnly{});
474
+ v.emplace(v.begin());
475
+ v.emplace(v.begin(), MoveOnly{});
476
+ }
477
+ TEST(InlinedVectorTest, Noexcept) {
478
+ EXPECT_TRUE(std::is_nothrow_move_constructible<IntVec>::value);
479
+ EXPECT_TRUE((std::is_nothrow_move_constructible<
480
+ absl::InlinedVector<MoveOnly, 2>>::value));
481
+
482
+ struct MoveCanThrow {
483
+ MoveCanThrow(MoveCanThrow&&) {}
484
+ };
485
+ EXPECT_EQ(absl::default_allocator_is_nothrow::value,
486
+ (std::is_nothrow_move_constructible<
487
+ absl::InlinedVector<MoveCanThrow, 2>>::value));
488
+ }
489
+
490
+ TEST(InlinedVectorTest, EmplaceBack) {
491
+ absl::InlinedVector<std::pair<std::string, int>, 1> v;
492
+
493
+ auto& inlined_element = v.emplace_back("answer", 42);
494
+ EXPECT_EQ(&inlined_element, &v[0]);
495
+ EXPECT_EQ(inlined_element.first, "answer");
496
+ EXPECT_EQ(inlined_element.second, 42);
497
+
498
+ auto& allocated_element = v.emplace_back("taxicab", 1729);
499
+ EXPECT_EQ(&allocated_element, &v[1]);
500
+ EXPECT_EQ(allocated_element.first, "taxicab");
501
+ EXPECT_EQ(allocated_element.second, 1729);
502
+ }
503
+
504
+ TEST(InlinedVectorTest, ShrinkToFitGrowingVector) {
505
+ absl::InlinedVector<std::pair<std::string, int>, 1> v;
506
+
507
+ v.shrink_to_fit();
508
+ EXPECT_EQ(v.capacity(), 1u);
509
+
510
+ v.emplace_back("answer", 42);
511
+ v.shrink_to_fit();
512
+ EXPECT_EQ(v.capacity(), 1u);
513
+
514
+ v.emplace_back("taxicab", 1729);
515
+ EXPECT_GE(v.capacity(), 2u);
516
+ v.shrink_to_fit();
517
+ EXPECT_EQ(v.capacity(), 2u);
518
+
519
+ v.reserve(100);
520
+ EXPECT_GE(v.capacity(), 100u);
521
+ v.shrink_to_fit();
522
+ EXPECT_EQ(v.capacity(), 2u);
523
+ }
524
+
525
+ TEST(InlinedVectorTest, ShrinkToFitEdgeCases) {
526
+ {
527
+ absl::InlinedVector<std::pair<std::string, int>, 1> v;
528
+ v.emplace_back("answer", 42);
529
+ v.emplace_back("taxicab", 1729);
530
+ EXPECT_GE(v.capacity(), 2u);
531
+ v.pop_back();
532
+ v.shrink_to_fit();
533
+ EXPECT_EQ(v.capacity(), 1u);
534
+ EXPECT_EQ(v[0].first, "answer");
535
+ EXPECT_EQ(v[0].second, 42);
536
+ }
537
+
538
+ {
539
+ absl::InlinedVector<std::string, 2> v(100);
540
+ v.resize(0);
541
+ v.shrink_to_fit();
542
+ EXPECT_EQ(v.capacity(), 2u); // inlined capacity
543
+ }
544
+
545
+ {
546
+ absl::InlinedVector<std::string, 2> v(100);
547
+ v.resize(1);
548
+ v.shrink_to_fit();
549
+ EXPECT_EQ(v.capacity(), 2u); // inlined capacity
550
+ }
551
+
552
+ {
553
+ absl::InlinedVector<std::string, 2> v(100);
554
+ v.resize(2);
555
+ v.shrink_to_fit();
556
+ EXPECT_EQ(v.capacity(), 2u);
557
+ }
558
+
559
+ {
560
+ absl::InlinedVector<std::string, 2> v(100);
561
+ v.resize(3);
562
+ v.shrink_to_fit();
563
+ EXPECT_EQ(v.capacity(), 3u);
564
+ }
565
+ }
566
+
567
+ TEST(IntVec, Insert) {
568
+ for (size_t len = 0; len < 20; len++) {
569
+ for (ptrdiff_t pos = 0; pos <= static_cast<ptrdiff_t>(len); pos++) {
570
+ {
571
+ // Single element
572
+ std::vector<int> std_v;
573
+ Fill(&std_v, len);
574
+ IntVec v;
575
+ Fill(&v, len);
576
+
577
+ std_v.insert(std_v.begin() + pos, 9999);
578
+ IntVec::iterator it = v.insert(v.cbegin() + pos, 9999);
579
+ EXPECT_THAT(v, ElementsAreArray(std_v));
580
+ EXPECT_EQ(it, v.cbegin() + pos);
581
+ }
582
+ {
583
+ // n elements
584
+ std::vector<int> std_v;
585
+ Fill(&std_v, len);
586
+ IntVec v;
587
+ Fill(&v, len);
588
+
589
+ IntVec::size_type n = 5;
590
+ std_v.insert(std_v.begin() + pos, n, 9999);
591
+ IntVec::iterator it = v.insert(v.cbegin() + pos, n, 9999);
592
+ EXPECT_THAT(v, ElementsAreArray(std_v));
593
+ EXPECT_EQ(it, v.cbegin() + pos);
594
+ }
595
+ {
596
+ // Iterator range (random access iterator)
597
+ std::vector<int> std_v;
598
+ Fill(&std_v, len);
599
+ IntVec v;
600
+ Fill(&v, len);
601
+
602
+ const std::vector<int> input = {9999, 8888, 7777};
603
+ std_v.insert(std_v.begin() + pos, input.cbegin(), input.cend());
604
+ IntVec::iterator it =
605
+ v.insert(v.cbegin() + pos, input.cbegin(), input.cend());
606
+ EXPECT_THAT(v, ElementsAreArray(std_v));
607
+ EXPECT_EQ(it, v.cbegin() + pos);
608
+ }
609
+ {
610
+ // Iterator range (forward iterator)
611
+ std::vector<int> std_v;
612
+ Fill(&std_v, len);
613
+ IntVec v;
614
+ Fill(&v, len);
615
+
616
+ const std::forward_list<int> input = {9999, 8888, 7777};
617
+ std_v.insert(std_v.begin() + pos, input.cbegin(), input.cend());
618
+ IntVec::iterator it =
619
+ v.insert(v.cbegin() + pos, input.cbegin(), input.cend());
620
+ EXPECT_THAT(v, ElementsAreArray(std_v));
621
+ EXPECT_EQ(it, v.cbegin() + pos);
622
+ }
623
+ {
624
+ // Iterator range (input iterator)
625
+ std::vector<int> std_v;
626
+ Fill(&std_v, len);
627
+ IntVec v;
628
+ Fill(&v, len);
629
+
630
+ std_v.insert(std_v.begin() + pos, {9999, 8888, 7777});
631
+ std::istringstream input("9999 8888 7777");
632
+ IntVec::iterator it =
633
+ v.insert(v.cbegin() + pos, std::istream_iterator<int>(input),
634
+ std::istream_iterator<int>());
635
+ EXPECT_THAT(v, ElementsAreArray(std_v));
636
+ EXPECT_EQ(it, v.cbegin() + pos);
637
+ }
638
+ {
639
+ // Initializer list
640
+ std::vector<int> std_v;
641
+ Fill(&std_v, len);
642
+ IntVec v;
643
+ Fill(&v, len);
644
+
645
+ std_v.insert(std_v.begin() + pos, {9999, 8888});
646
+ IntVec::iterator it = v.insert(v.cbegin() + pos, {9999, 8888});
647
+ EXPECT_THAT(v, ElementsAreArray(std_v));
648
+ EXPECT_EQ(it, v.cbegin() + pos);
649
+ }
650
+ }
651
+ }
652
+ }
653
+
654
+ TEST(IntPairVec, Insert) {
655
+ for (size_t len = 0; len < 20; len++) {
656
+ for (ptrdiff_t pos = 0; pos <= static_cast<ptrdiff_t>(len); pos++) {
657
+ // Iterator range (C++20 forward iterator)
658
+ const std::forward_list<int> unzipped_input = {9999, 8888, 7777};
659
+ const absl::base_internal::Cpp20ForwardZipIterator<
660
+ std::forward_list<int>::const_iterator>
661
+ begin(unzipped_input.cbegin(), unzipped_input.cbegin());
662
+ const absl::base_internal::Cpp20ForwardZipIterator<
663
+ std::forward_list<int>::const_iterator>
664
+ end(unzipped_input.cend(), unzipped_input.cend());
665
+
666
+ std::vector<std::pair<int, int>> std_v;
667
+ absl::InlinedVector<std::pair<int, int>, 8> v;
668
+ for (size_t i = 0; i < len; ++i) {
669
+ std_v.emplace_back(i, i);
670
+ v.emplace_back(i, i);
671
+ }
672
+
673
+ std_v.insert(std_v.begin() + pos, begin, end);
674
+ auto it = v.insert(v.cbegin() + pos, begin, end);
675
+ EXPECT_THAT(v, ElementsAreArray(std_v));
676
+ EXPECT_EQ(it, v.cbegin() + pos);
677
+ }
678
+ }
679
+ }
680
+
681
+ TEST(RefCountedVec, InsertConstructorDestructor) {
682
+ // Make sure the proper construction/destruction happen during insert
683
+ // operations.
684
+ for (size_t len = 0; len < 20; len++) {
685
+ SCOPED_TRACE(len);
686
+ for (size_t pos = 0; pos <= len; pos++) {
687
+ SCOPED_TRACE(pos);
688
+ std::vector<int> counts(len, 0);
689
+ int inserted_count = 0;
690
+ RefCountedVec v;
691
+ for (size_t i = 0; i < len; ++i) {
692
+ SCOPED_TRACE(i);
693
+ v.push_back(RefCounted(static_cast<int>(i), &counts[i]));
694
+ }
695
+
696
+ EXPECT_THAT(counts, Each(Eq(1)));
697
+
698
+ RefCounted insert_element(9999, &inserted_count);
699
+ EXPECT_EQ(1, inserted_count);
700
+ v.insert(v.begin() + pos, insert_element);
701
+ EXPECT_EQ(2, inserted_count);
702
+ // Check that the elements at the end are preserved.
703
+ EXPECT_THAT(counts, Each(Eq(1)));
704
+ EXPECT_EQ(2, inserted_count);
705
+ }
706
+ }
707
+ }
708
+
709
+ TEST(IntVec, Resize) {
710
+ for (size_t len = 0; len < 20; len++) {
711
+ IntVec v;
712
+ Fill(&v, len);
713
+
714
+ // Try resizing up and down by k elements
715
+ static const int kResizeElem = 1000000;
716
+ for (size_t k = 0; k < 10; k++) {
717
+ // Enlarging resize
718
+ v.resize(len + k, kResizeElem);
719
+ EXPECT_EQ(len + k, v.size());
720
+ EXPECT_LE(len + k, v.capacity());
721
+ for (size_t i = 0; i < len + k; i++) {
722
+ if (i < len) {
723
+ EXPECT_EQ(static_cast<int>(i), v[i]);
724
+ } else {
725
+ EXPECT_EQ(kResizeElem, v[i]);
726
+ }
727
+ }
728
+
729
+ // Shrinking resize
730
+ v.resize(len, kResizeElem);
731
+ EXPECT_EQ(len, v.size());
732
+ EXPECT_LE(len, v.capacity());
733
+ for (size_t i = 0; i < len; i++) {
734
+ EXPECT_EQ(static_cast<int>(i), v[i]);
735
+ }
736
+ }
737
+ }
738
+ }
739
+
740
+ TEST(IntVec, InitWithLength) {
741
+ for (size_t len = 0; len < 20; len++) {
742
+ IntVec v(len, 7);
743
+ EXPECT_EQ(len, v.size());
744
+ EXPECT_LE(len, v.capacity());
745
+ for (size_t i = 0; i < len; i++) {
746
+ EXPECT_EQ(7, v[i]);
747
+ }
748
+ }
749
+ }
750
+
751
+ TEST(IntVec, CopyConstructorAndAssignment) {
752
+ for (size_t len = 0; len < 20; len++) {
753
+ IntVec v;
754
+ Fill(&v, len);
755
+ EXPECT_EQ(len, v.size());
756
+ EXPECT_LE(len, v.capacity());
757
+
758
+ IntVec v2(v);
759
+ EXPECT_TRUE(v == v2) << PrintToString(v) << PrintToString(v2);
760
+
761
+ for (size_t start_len = 0; start_len < 20; start_len++) {
762
+ IntVec v3;
763
+ Fill(&v3, start_len, 99); // Add dummy elements that should go away
764
+ v3 = v;
765
+ EXPECT_TRUE(v == v3) << PrintToString(v) << PrintToString(v3);
766
+ }
767
+ }
768
+ }
769
+
770
+ TEST(IntVec, AliasingCopyAssignment) {
771
+ for (size_t len = 0; len < 20; ++len) {
772
+ IntVec original;
773
+ Fill(&original, len);
774
+ IntVec dup = original;
775
+ dup = *&dup;
776
+ EXPECT_EQ(dup, original);
777
+ }
778
+ }
779
+
780
+ TEST(IntVec, MoveConstructorAndAssignment) {
781
+ for (size_t len = 0; len < 20; len++) {
782
+ IntVec v_in;
783
+ const size_t inlined_capacity = v_in.capacity();
784
+ Fill(&v_in, len);
785
+ EXPECT_EQ(len, v_in.size());
786
+ EXPECT_LE(len, v_in.capacity());
787
+
788
+ {
789
+ IntVec v_temp(v_in);
790
+ auto* old_data = v_temp.data();
791
+ IntVec v_out(std::move(v_temp));
792
+ EXPECT_TRUE(v_in == v_out) << PrintToString(v_in) << PrintToString(v_out);
793
+ if (v_in.size() > inlined_capacity) {
794
+ // Allocation is moved as a whole, data stays in place.
795
+ EXPECT_TRUE(v_out.data() == old_data);
796
+ } else {
797
+ EXPECT_FALSE(v_out.data() == old_data);
798
+ }
799
+ }
800
+ for (size_t start_len = 0; start_len < 20; start_len++) {
801
+ IntVec v_out;
802
+ Fill(&v_out, start_len, 99); // Add dummy elements that should go away
803
+ IntVec v_temp(v_in);
804
+ auto* old_data = v_temp.data();
805
+ v_out = std::move(v_temp);
806
+ EXPECT_TRUE(v_in == v_out) << PrintToString(v_in) << PrintToString(v_out);
807
+ if (v_in.size() > inlined_capacity) {
808
+ // Allocation is moved as a whole, data stays in place.
809
+ EXPECT_TRUE(v_out.data() == old_data);
810
+ } else {
811
+ EXPECT_FALSE(v_out.data() == old_data);
812
+ }
813
+ }
814
+ }
815
+ }
816
+
817
+ class NotTriviallyDestructible {
818
+ public:
819
+ NotTriviallyDestructible() : p_(new int(1)) {}
820
+ explicit NotTriviallyDestructible(int i) : p_(new int(i)) {}
821
+
822
+ NotTriviallyDestructible(const NotTriviallyDestructible& other)
823
+ : p_(new int(*other.p_)) {}
824
+
825
+ NotTriviallyDestructible& operator=(const NotTriviallyDestructible& other) {
826
+ p_ = absl::make_unique<int>(*other.p_);
827
+ return *this;
828
+ }
829
+
830
+ bool operator==(const NotTriviallyDestructible& other) const {
831
+ return *p_ == *other.p_;
832
+ }
833
+
834
+ private:
835
+ std::unique_ptr<int> p_;
836
+ };
837
+
838
+ TEST(AliasingTest, Emplace) {
839
+ for (size_t i = 2; i < 20; ++i) {
840
+ absl::InlinedVector<NotTriviallyDestructible, 10> vec;
841
+ for (size_t j = 0; j < i; ++j) {
842
+ vec.push_back(NotTriviallyDestructible(static_cast<int>(j)));
843
+ }
844
+ vec.emplace(vec.begin(), vec[0]);
845
+ EXPECT_EQ(vec[0], vec[1]);
846
+ vec.emplace(vec.begin() + i / 2, vec[i / 2]);
847
+ EXPECT_EQ(vec[i / 2], vec[i / 2 + 1]);
848
+ vec.emplace(vec.end() - 1, vec.back());
849
+ EXPECT_EQ(vec[vec.size() - 2], vec.back());
850
+ }
851
+ }
852
+
853
+ TEST(AliasingTest, InsertWithCount) {
854
+ for (size_t i = 1; i < 20; ++i) {
855
+ absl::InlinedVector<NotTriviallyDestructible, 10> vec;
856
+ for (size_t j = 0; j < i; ++j) {
857
+ vec.push_back(NotTriviallyDestructible(static_cast<int>(j)));
858
+ }
859
+ for (size_t n = 0; n < 5; ++n) {
860
+ // We use back where we can because it's guaranteed to become invalidated
861
+ vec.insert(vec.begin(), n, vec.back());
862
+ auto b = vec.begin();
863
+ EXPECT_TRUE(
864
+ std::all_of(b, b + n, [&vec](const NotTriviallyDestructible& x) {
865
+ return x == vec.back();
866
+ }));
867
+
868
+ auto m_idx = vec.size() / 2;
869
+ vec.insert(vec.begin() + m_idx, n, vec.back());
870
+ auto m = vec.begin() + m_idx;
871
+ EXPECT_TRUE(
872
+ std::all_of(m, m + n, [&vec](const NotTriviallyDestructible& x) {
873
+ return x == vec.back();
874
+ }));
875
+
876
+ // We want distinct values so the equality test is meaningful,
877
+ // vec[vec.size() - 1] is also almost always invalidated.
878
+ auto old_e = vec.size() - 1;
879
+ auto val = vec[old_e];
880
+ vec.insert(vec.end(), n, vec[old_e]);
881
+ auto e = vec.begin() + old_e;
882
+ EXPECT_TRUE(std::all_of(
883
+ e, e + n,
884
+ [&val](const NotTriviallyDestructible& x) { return x == val; }));
885
+ }
886
+ }
887
+ }
888
+
889
+ TEST(OverheadTest, Storage) {
890
+ // Check for size overhead.
891
+ // In particular, ensure that std::allocator doesn't cost anything to store.
892
+ // The union should be absorbing some of the allocation bookkeeping overhead
893
+ // in the larger vectors, leaving only the size_ field as overhead.
894
+
895
+ struct T {
896
+ void* val;
897
+ };
898
+ size_t expected_overhead = sizeof(T);
899
+
900
+ EXPECT_EQ((2 * expected_overhead),
901
+ sizeof(absl::InlinedVector<T, 1>) - sizeof(T[1]));
902
+ EXPECT_EQ(expected_overhead,
903
+ sizeof(absl::InlinedVector<T, 2>) - sizeof(T[2]));
904
+ EXPECT_EQ(expected_overhead,
905
+ sizeof(absl::InlinedVector<T, 3>) - sizeof(T[3]));
906
+ EXPECT_EQ(expected_overhead,
907
+ sizeof(absl::InlinedVector<T, 4>) - sizeof(T[4]));
908
+ EXPECT_EQ(expected_overhead,
909
+ sizeof(absl::InlinedVector<T, 5>) - sizeof(T[5]));
910
+ EXPECT_EQ(expected_overhead,
911
+ sizeof(absl::InlinedVector<T, 6>) - sizeof(T[6]));
912
+ EXPECT_EQ(expected_overhead,
913
+ sizeof(absl::InlinedVector<T, 7>) - sizeof(T[7]));
914
+ EXPECT_EQ(expected_overhead,
915
+ sizeof(absl::InlinedVector<T, 8>) - sizeof(T[8]));
916
+ }
917
+
918
+ TEST(IntVec, Clear) {
919
+ for (size_t len = 0; len < 20; len++) {
920
+ SCOPED_TRACE(len);
921
+ IntVec v;
922
+ Fill(&v, len);
923
+ size_t capacity_before_clear = v.capacity();
924
+ v.clear();
925
+ EXPECT_EQ(v.capacity(), capacity_before_clear);
926
+ EXPECT_EQ(0u, v.size());
927
+ EXPECT_EQ(v.begin(), v.end());
928
+ }
929
+ }
930
+
931
+ TEST(IntVec, Reserve) {
932
+ for (size_t len = 0; len < 20; len++) {
933
+ IntVec v;
934
+ Fill(&v, len);
935
+
936
+ for (size_t newlen = 0; newlen < 100; newlen++) {
937
+ const int* start_rep = v.data();
938
+ v.reserve(newlen);
939
+ const int* final_rep = v.data();
940
+ if (newlen <= len) {
941
+ EXPECT_EQ(start_rep, final_rep);
942
+ }
943
+ EXPECT_LE(newlen, v.capacity());
944
+
945
+ // Filling up to newlen should not change rep
946
+ while (v.size() < newlen) {
947
+ v.push_back(0);
948
+ }
949
+ EXPECT_EQ(final_rep, v.data());
950
+ }
951
+ }
952
+ }
953
+
954
+ TEST(StringVec, SelfRefPushBack) {
955
+ std::vector<std::string> std_v;
956
+ absl::InlinedVector<std::string, 4> v;
957
+ const std::string s = "A quite long string to ensure heap.";
958
+ std_v.push_back(s);
959
+ v.push_back(s);
960
+ for (int i = 0; i < 20; ++i) {
961
+ EXPECT_THAT(v, ElementsAreArray(std_v));
962
+
963
+ v.push_back(v.back());
964
+ std_v.push_back(std_v.back());
965
+ }
966
+ EXPECT_THAT(v, ElementsAreArray(std_v));
967
+ }
968
+
969
+ TEST(StringVec, SelfRefPushBackWithMove) {
970
+ std::vector<std::string> std_v;
971
+ absl::InlinedVector<std::string, 4> v;
972
+ const std::string s = "A quite long string to ensure heap.";
973
+ std_v.push_back(s);
974
+ v.push_back(s);
975
+ for (int i = 0; i < 20; ++i) {
976
+ EXPECT_EQ(v.back(), std_v.back());
977
+
978
+ v.push_back(std::move(v.back()));
979
+ std_v.push_back(std::move(std_v.back()));
980
+ }
981
+ EXPECT_EQ(v.back(), std_v.back());
982
+ }
983
+
984
+ TEST(StringVec, SelfMove) {
985
+ const std::string s = "A quite long string to ensure heap.";
986
+ for (int len = 0; len < 20; len++) {
987
+ SCOPED_TRACE(len);
988
+ absl::InlinedVector<std::string, 8> v;
989
+ for (int i = 0; i < len; ++i) {
990
+ SCOPED_TRACE(i);
991
+ v.push_back(s);
992
+ }
993
+ // Indirection necessary to avoid compiler warning.
994
+ v = std::move(*(&v));
995
+ // Ensure that the inlined vector is still in a valid state by copying it.
996
+ // We don't expect specific contents since a self-move results in an
997
+ // unspecified valid state.
998
+ std::vector<std::string> copy(v.begin(), v.end());
999
+ }
1000
+ }
1001
+
1002
+ TEST(IntVec, Swap) {
1003
+ for (size_t l1 = 0; l1 < 20; l1++) {
1004
+ SCOPED_TRACE(l1);
1005
+ for (size_t l2 = 0; l2 < 20; l2++) {
1006
+ SCOPED_TRACE(l2);
1007
+ IntVec a = Fill(l1, 0);
1008
+ IntVec b = Fill(l2, 100);
1009
+ {
1010
+ using std::swap;
1011
+ swap(a, b);
1012
+ }
1013
+ EXPECT_EQ(l1, b.size());
1014
+ EXPECT_EQ(l2, a.size());
1015
+ for (size_t i = 0; i < l1; i++) {
1016
+ SCOPED_TRACE(i);
1017
+ EXPECT_EQ(static_cast<int>(i), b[i]);
1018
+ }
1019
+ for (size_t i = 0; i < l2; i++) {
1020
+ SCOPED_TRACE(i);
1021
+ EXPECT_EQ(100 + static_cast<int>(i), a[i]);
1022
+ }
1023
+ }
1024
+ }
1025
+ }
1026
+
1027
+ TYPED_TEST_P(InstanceTest, Swap) {
1028
+ using Instance = TypeParam;
1029
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1030
+ for (size_t l1 = 0; l1 < 20; l1++) {
1031
+ SCOPED_TRACE(l1);
1032
+ for (size_t l2 = 0; l2 < 20; l2++) {
1033
+ SCOPED_TRACE(l2);
1034
+ InstanceTracker tracker;
1035
+ InstanceVec a, b;
1036
+ const size_t inlined_capacity = a.capacity();
1037
+ auto min_len = std::min(l1, l2);
1038
+ auto max_len = std::max(l1, l2);
1039
+ for (size_t i = 0; i < l1; i++)
1040
+ a.push_back(Instance(static_cast<int>(i)));
1041
+ for (size_t i = 0; i < l2; i++)
1042
+ b.push_back(Instance(100 + static_cast<int>(i)));
1043
+ EXPECT_EQ(tracker.instances(), static_cast<int>(l1 + l2));
1044
+ tracker.ResetCopiesMovesSwaps();
1045
+ {
1046
+ using std::swap;
1047
+ swap(a, b);
1048
+ }
1049
+ EXPECT_EQ(tracker.instances(), static_cast<int>(l1 + l2));
1050
+ if (a.size() > inlined_capacity && b.size() > inlined_capacity) {
1051
+ EXPECT_EQ(tracker.swaps(), 0); // Allocations are swapped.
1052
+ EXPECT_EQ(tracker.moves(), 0);
1053
+ } else if (a.size() <= inlined_capacity && b.size() <= inlined_capacity) {
1054
+ EXPECT_EQ(tracker.swaps(), static_cast<int>(min_len));
1055
+ EXPECT_EQ((tracker.moves() ? tracker.moves() : tracker.copies()),
1056
+ static_cast<int>(max_len - min_len));
1057
+ } else {
1058
+ // One is allocated and the other isn't. The allocation is transferred
1059
+ // without copying elements, and the inlined instances are copied/moved.
1060
+ EXPECT_EQ(tracker.swaps(), 0);
1061
+ EXPECT_EQ((tracker.moves() ? tracker.moves() : tracker.copies()),
1062
+ static_cast<int>(min_len));
1063
+ }
1064
+
1065
+ EXPECT_EQ(l1, b.size());
1066
+ EXPECT_EQ(l2, a.size());
1067
+ for (size_t i = 0; i < l1; i++) {
1068
+ EXPECT_EQ(static_cast<int>(i), b[i].value());
1069
+ }
1070
+ for (size_t i = 0; i < l2; i++) {
1071
+ EXPECT_EQ(100 + static_cast<int>(i), a[i].value());
1072
+ }
1073
+ }
1074
+ }
1075
+ }
1076
+
1077
+ TEST(IntVec, EqualAndNotEqual) {
1078
+ IntVec a, b;
1079
+ EXPECT_TRUE(a == b);
1080
+ EXPECT_FALSE(a != b);
1081
+
1082
+ a.push_back(3);
1083
+ EXPECT_FALSE(a == b);
1084
+ EXPECT_TRUE(a != b);
1085
+
1086
+ b.push_back(3);
1087
+ EXPECT_TRUE(a == b);
1088
+ EXPECT_FALSE(a != b);
1089
+
1090
+ b.push_back(7);
1091
+ EXPECT_FALSE(a == b);
1092
+ EXPECT_TRUE(a != b);
1093
+
1094
+ a.push_back(6);
1095
+ EXPECT_FALSE(a == b);
1096
+ EXPECT_TRUE(a != b);
1097
+
1098
+ a.clear();
1099
+ b.clear();
1100
+ for (size_t i = 0; i < 100; i++) {
1101
+ a.push_back(static_cast<int>(i));
1102
+ b.push_back(static_cast<int>(i));
1103
+ EXPECT_TRUE(a == b);
1104
+ EXPECT_FALSE(a != b);
1105
+
1106
+ b[i] = b[i] + 1;
1107
+ EXPECT_FALSE(a == b);
1108
+ EXPECT_TRUE(a != b);
1109
+
1110
+ b[i] = b[i] - 1; // Back to before
1111
+ EXPECT_TRUE(a == b);
1112
+ EXPECT_FALSE(a != b);
1113
+ }
1114
+ }
1115
+
1116
+ TEST(IntVec, RelationalOps) {
1117
+ IntVec a, b;
1118
+ EXPECT_FALSE(a < b);
1119
+ EXPECT_FALSE(b < a);
1120
+ EXPECT_FALSE(a > b);
1121
+ EXPECT_FALSE(b > a);
1122
+ EXPECT_TRUE(a <= b);
1123
+ EXPECT_TRUE(b <= a);
1124
+ EXPECT_TRUE(a >= b);
1125
+ EXPECT_TRUE(b >= a);
1126
+ b.push_back(3);
1127
+ EXPECT_TRUE(a < b);
1128
+ EXPECT_FALSE(b < a);
1129
+ EXPECT_FALSE(a > b);
1130
+ EXPECT_TRUE(b > a);
1131
+ EXPECT_TRUE(a <= b);
1132
+ EXPECT_FALSE(b <= a);
1133
+ EXPECT_FALSE(a >= b);
1134
+ EXPECT_TRUE(b >= a);
1135
+ }
1136
+
1137
+ TYPED_TEST_P(InstanceTest, CountConstructorsDestructors) {
1138
+ using Instance = TypeParam;
1139
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1140
+ InstanceTracker tracker;
1141
+ for (size_t len = 0; len < 20; len++) {
1142
+ SCOPED_TRACE(len);
1143
+ tracker.ResetCopiesMovesSwaps();
1144
+
1145
+ InstanceVec v;
1146
+ const size_t inlined_capacity = v.capacity();
1147
+ for (size_t i = 0; i < len; i++) {
1148
+ v.push_back(Instance(static_cast<int>(i)));
1149
+ }
1150
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len));
1151
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1152
+ static_cast<int>(len)); // More due to reallocation.
1153
+ tracker.ResetCopiesMovesSwaps();
1154
+
1155
+ // Enlarging resize() must construct some objects
1156
+ tracker.ResetCopiesMovesSwaps();
1157
+ v.resize(len + 10, Instance(100));
1158
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len) + 10);
1159
+ if (len <= inlined_capacity && len + 10 > inlined_capacity) {
1160
+ EXPECT_EQ(tracker.copies() + tracker.moves(), 10 + static_cast<int>(len));
1161
+ } else {
1162
+ // Only specify a minimum number of copies + moves. We don't want to
1163
+ // depend on the reallocation policy here.
1164
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1165
+ 10); // More due to reallocation.
1166
+ }
1167
+
1168
+ // Shrinking resize() must destroy some objects
1169
+ tracker.ResetCopiesMovesSwaps();
1170
+ v.resize(len, Instance(100));
1171
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len));
1172
+ EXPECT_EQ(tracker.copies(), 0);
1173
+ EXPECT_EQ(tracker.moves(), 0);
1174
+
1175
+ // reserve() must not increase the number of initialized objects
1176
+ SCOPED_TRACE("reserve");
1177
+ v.reserve(len + 1000);
1178
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len));
1179
+ EXPECT_EQ(tracker.copies() + tracker.moves(), static_cast<int>(len));
1180
+
1181
+ // pop_back() and erase() must destroy one object
1182
+ if (len > 0) {
1183
+ tracker.ResetCopiesMovesSwaps();
1184
+ v.pop_back();
1185
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len) - 1);
1186
+ EXPECT_EQ(tracker.copies(), 0);
1187
+ EXPECT_EQ(tracker.moves(), 0);
1188
+
1189
+ if (!v.empty()) {
1190
+ tracker.ResetCopiesMovesSwaps();
1191
+ v.erase(v.begin());
1192
+ EXPECT_EQ(tracker.instances(), static_cast<int>(len) - 2);
1193
+ EXPECT_EQ(tracker.copies() + tracker.moves(),
1194
+ static_cast<int>(len) - 2);
1195
+ }
1196
+ }
1197
+
1198
+ tracker.ResetCopiesMovesSwaps();
1199
+ int instances_before_empty_erase = tracker.instances();
1200
+ v.erase(v.begin(), v.begin());
1201
+ EXPECT_EQ(tracker.instances(), instances_before_empty_erase);
1202
+ EXPECT_EQ(tracker.copies() + tracker.moves(), 0);
1203
+ }
1204
+ }
1205
+
1206
+ TYPED_TEST_P(InstanceTest, CountConstructorsDestructorsOnCopyConstruction) {
1207
+ using Instance = TypeParam;
1208
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1209
+ InstanceTracker tracker;
1210
+ for (int len = 0; len < 20; len++) {
1211
+ SCOPED_TRACE(len);
1212
+ tracker.ResetCopiesMovesSwaps();
1213
+
1214
+ InstanceVec v;
1215
+ for (int i = 0; i < len; i++) {
1216
+ v.push_back(Instance(i));
1217
+ }
1218
+ EXPECT_EQ(tracker.instances(), len);
1219
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1220
+ len); // More due to reallocation.
1221
+ tracker.ResetCopiesMovesSwaps();
1222
+ { // Copy constructor should create 'len' more instances.
1223
+ InstanceVec v_copy(v);
1224
+ EXPECT_EQ(v_copy.size(), v.size());
1225
+ EXPECT_EQ(tracker.instances(), len + len);
1226
+ EXPECT_EQ(tracker.copies(), len);
1227
+ EXPECT_EQ(tracker.moves(), 0);
1228
+ }
1229
+ EXPECT_EQ(tracker.instances(), len);
1230
+ }
1231
+ }
1232
+
1233
+ TYPED_TEST_P(InstanceTest, CountConstructorsDestructorsOnMoveConstruction) {
1234
+ using Instance = TypeParam;
1235
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1236
+ InstanceTracker tracker;
1237
+ for (int len = 0; len < 20; len++) {
1238
+ SCOPED_TRACE(len);
1239
+ tracker.ResetCopiesMovesSwaps();
1240
+
1241
+ InstanceVec v;
1242
+ const size_t inlined_capacity = v.capacity();
1243
+ for (int i = 0; i < len; i++) {
1244
+ v.push_back(Instance(i));
1245
+ }
1246
+ EXPECT_EQ(tracker.instances(), len);
1247
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1248
+ len); // More due to reallocation.
1249
+ tracker.ResetCopiesMovesSwaps();
1250
+ {
1251
+ InstanceVec v_copy(std::move(v));
1252
+ EXPECT_EQ(v_copy.size(), len);
1253
+ if (static_cast<size_t>(len) > inlined_capacity) {
1254
+ // Allocation is moved as a whole.
1255
+ EXPECT_EQ(tracker.instances(), len);
1256
+ EXPECT_EQ(tracker.live_instances(), len);
1257
+ // Tests an implementation detail, don't rely on this in your code.
1258
+ EXPECT_EQ(v.size(), 0u); // NOLINT misc-use-after-move
1259
+ EXPECT_EQ(tracker.copies(), 0);
1260
+ EXPECT_EQ(tracker.moves(), 0);
1261
+ } else {
1262
+ EXPECT_EQ(tracker.instances(), len + len);
1263
+ if (Instance::supports_move()) {
1264
+ EXPECT_EQ(tracker.live_instances(), len);
1265
+ EXPECT_EQ(tracker.copies(), 0);
1266
+ EXPECT_EQ(tracker.moves(), len);
1267
+ } else {
1268
+ EXPECT_EQ(tracker.live_instances(), len + len);
1269
+ EXPECT_EQ(tracker.copies(), len);
1270
+ EXPECT_EQ(tracker.moves(), 0);
1271
+ }
1272
+ }
1273
+ EXPECT_EQ(tracker.swaps(), 0);
1274
+ }
1275
+ }
1276
+ }
1277
+
1278
+ TYPED_TEST_P(InstanceTest, CountConstructorsDestructorsOnAssignment) {
1279
+ using Instance = TypeParam;
1280
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1281
+ InstanceTracker tracker;
1282
+ for (int len = 0; len < 20; len++) {
1283
+ SCOPED_TRACE(len);
1284
+ for (int longorshort = 0; longorshort <= 1; ++longorshort) {
1285
+ SCOPED_TRACE(longorshort);
1286
+ tracker.ResetCopiesMovesSwaps();
1287
+
1288
+ InstanceVec longer, shorter;
1289
+ for (int i = 0; i < len; i++) {
1290
+ longer.push_back(Instance(i));
1291
+ shorter.push_back(Instance(i));
1292
+ }
1293
+ longer.push_back(Instance(len));
1294
+ EXPECT_EQ(tracker.instances(), len + len + 1);
1295
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1296
+ len + len + 1); // More due to reallocation.
1297
+
1298
+ tracker.ResetCopiesMovesSwaps();
1299
+ if (longorshort) {
1300
+ shorter = longer;
1301
+ EXPECT_EQ(tracker.instances(), (len + 1) + (len + 1));
1302
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1303
+ len + 1); // More due to reallocation.
1304
+ } else {
1305
+ longer = shorter;
1306
+ EXPECT_EQ(tracker.instances(), len + len);
1307
+ EXPECT_EQ(tracker.copies() + tracker.moves(), len);
1308
+ }
1309
+ }
1310
+ }
1311
+ }
1312
+
1313
+ TYPED_TEST_P(InstanceTest, CountConstructorsDestructorsOnMoveAssignment) {
1314
+ using Instance = TypeParam;
1315
+ using InstanceVec = absl::InlinedVector<Instance, 8>;
1316
+ InstanceTracker tracker;
1317
+ for (int len = 0; len < 20; len++) {
1318
+ SCOPED_TRACE(len);
1319
+ for (int longorshort = 0; longorshort <= 1; ++longorshort) {
1320
+ SCOPED_TRACE(longorshort);
1321
+ tracker.ResetCopiesMovesSwaps();
1322
+
1323
+ InstanceVec longer, shorter;
1324
+ const size_t inlined_capacity = longer.capacity();
1325
+ for (int i = 0; i < len; i++) {
1326
+ longer.push_back(Instance(i));
1327
+ shorter.push_back(Instance(i));
1328
+ }
1329
+ longer.push_back(Instance(len));
1330
+ EXPECT_EQ(tracker.instances(), len + len + 1);
1331
+ EXPECT_GE(tracker.copies() + tracker.moves(),
1332
+ len + len + 1); // More due to reallocation.
1333
+
1334
+ tracker.ResetCopiesMovesSwaps();
1335
+ int src_len;
1336
+ if (longorshort) {
1337
+ src_len = len + 1;
1338
+ shorter = std::move(longer);
1339
+ } else {
1340
+ src_len = len;
1341
+ longer = std::move(shorter);
1342
+ }
1343
+ if (static_cast<size_t>(src_len) > inlined_capacity) {
1344
+ // Allocation moved as a whole.
1345
+ EXPECT_EQ(tracker.instances(), src_len);
1346
+ EXPECT_EQ(tracker.live_instances(), src_len);
1347
+ EXPECT_EQ(tracker.copies(), 0);
1348
+ EXPECT_EQ(tracker.moves(), 0);
1349
+ } else {
1350
+ // Elements are all copied.
1351
+ EXPECT_EQ(tracker.instances(), src_len + src_len);
1352
+ if (Instance::supports_move()) {
1353
+ EXPECT_EQ(tracker.copies(), 0);
1354
+ EXPECT_EQ(tracker.moves(), src_len);
1355
+ EXPECT_EQ(tracker.live_instances(), src_len);
1356
+ } else {
1357
+ EXPECT_EQ(tracker.copies(), src_len);
1358
+ EXPECT_EQ(tracker.moves(), 0);
1359
+ EXPECT_EQ(tracker.live_instances(), src_len + src_len);
1360
+ }
1361
+ }
1362
+ EXPECT_EQ(tracker.swaps(), 0);
1363
+ }
1364
+ }
1365
+ }
1366
+
1367
+ TEST(CountElemAssign, SimpleTypeWithInlineBacking) {
1368
+ const size_t inlined_capacity = absl::InlinedVector<int, 2>().capacity();
1369
+
1370
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1371
+ SCOPED_TRACE(original_size);
1372
+ // Original contents are [12345, 12345, ...]
1373
+ std::vector<int> original_contents(original_size, 12345);
1374
+
1375
+ absl::InlinedVector<int, 2> v(original_contents.begin(),
1376
+ original_contents.end());
1377
+ v.assign(2, 123);
1378
+ EXPECT_THAT(v, AllOf(SizeIs(2u), ElementsAre(123, 123)));
1379
+ if (original_size <= inlined_capacity) {
1380
+ // If the original had inline backing, it should stay inline.
1381
+ EXPECT_EQ(v.capacity(), inlined_capacity);
1382
+ }
1383
+ }
1384
+ }
1385
+
1386
+ TEST(CountElemAssign, SimpleTypeWithAllocation) {
1387
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1388
+ SCOPED_TRACE(original_size);
1389
+ // Original contents are [12345, 12345, ...]
1390
+ std::vector<int> original_contents(original_size, 12345);
1391
+
1392
+ absl::InlinedVector<int, 2> v(original_contents.begin(),
1393
+ original_contents.end());
1394
+ v.assign(3, 123);
1395
+ EXPECT_THAT(v, AllOf(SizeIs(3u), ElementsAre(123, 123, 123)));
1396
+ EXPECT_LE(v.size(), v.capacity());
1397
+ }
1398
+ }
1399
+
1400
+ TYPED_TEST_P(InstanceTest, CountElemAssignInlineBacking) {
1401
+ using Instance = TypeParam;
1402
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1403
+ SCOPED_TRACE(original_size);
1404
+ // Original contents are [12345, 12345, ...]
1405
+ std::vector<Instance> original_contents(original_size, Instance(12345));
1406
+
1407
+ absl::InlinedVector<Instance, 2> v(original_contents.begin(),
1408
+ original_contents.end());
1409
+ v.assign(2, Instance(123));
1410
+ EXPECT_THAT(v, AllOf(SizeIs(2u), ElementsAre(ValueIs(123), ValueIs(123))));
1411
+ if (original_size <= 2) {
1412
+ // If the original had inline backing, it should stay inline.
1413
+ EXPECT_EQ(2u, v.capacity());
1414
+ }
1415
+ }
1416
+ }
1417
+
1418
+ template <typename Instance>
1419
+ void InstanceCountElemAssignWithAllocationTest() {
1420
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1421
+ SCOPED_TRACE(original_size);
1422
+ // Original contents are [12345, 12345, ...]
1423
+ std::vector<Instance> original_contents(original_size, Instance(12345));
1424
+
1425
+ absl::InlinedVector<Instance, 2> v(original_contents.begin(),
1426
+ original_contents.end());
1427
+ v.assign(3, Instance(123));
1428
+ EXPECT_THAT(v, AllOf(SizeIs(3u), ElementsAre(ValueIs(123), ValueIs(123),
1429
+ ValueIs(123))));
1430
+ EXPECT_LE(v.size(), v.capacity());
1431
+ }
1432
+ }
1433
+ TEST(CountElemAssign, WithAllocationCopyableInstance) {
1434
+ InstanceCountElemAssignWithAllocationTest<CopyableOnlyInstance>();
1435
+ }
1436
+ TEST(CountElemAssign, WithAllocationCopyableMovableInstance) {
1437
+ InstanceCountElemAssignWithAllocationTest<CopyableMovableInstance>();
1438
+ }
1439
+
1440
+ TEST(RangedConstructor, SimpleType) {
1441
+ std::vector<int> source_v = {4, 5, 6};
1442
+ // First try to fit in inline backing
1443
+ absl::InlinedVector<int, 4> v(source_v.begin(), source_v.end());
1444
+ EXPECT_EQ(3u, v.size());
1445
+ EXPECT_EQ(4u,
1446
+ v.capacity()); // Indication that we're still on inlined storage
1447
+ EXPECT_EQ(4, v[0]);
1448
+ EXPECT_EQ(5, v[1]);
1449
+ EXPECT_EQ(6, v[2]);
1450
+
1451
+ // Now, force a re-allocate
1452
+ absl::InlinedVector<int, 2> realloc_v(source_v.begin(), source_v.end());
1453
+ EXPECT_EQ(3u, realloc_v.size());
1454
+ EXPECT_LT(2u, realloc_v.capacity());
1455
+ EXPECT_EQ(4, realloc_v[0]);
1456
+ EXPECT_EQ(5, realloc_v[1]);
1457
+ EXPECT_EQ(6, realloc_v[2]);
1458
+ }
1459
+
1460
+ // Test for ranged constructors using Instance as the element type and
1461
+ // SourceContainer as the source container type.
1462
+ template <typename Instance, typename SourceContainer, int inlined_capacity>
1463
+ void InstanceRangedConstructorTestForContainer() {
1464
+ InstanceTracker tracker;
1465
+ SourceContainer source_v = {Instance(0), Instance(1)};
1466
+ tracker.ResetCopiesMovesSwaps();
1467
+ absl::InlinedVector<Instance, inlined_capacity> v(source_v.begin(),
1468
+ source_v.end());
1469
+ EXPECT_EQ(2u, v.size());
1470
+ EXPECT_LT(1u, v.capacity());
1471
+ EXPECT_EQ(0, v[0].value());
1472
+ EXPECT_EQ(1, v[1].value());
1473
+ EXPECT_EQ(tracker.copies(), 2);
1474
+ EXPECT_EQ(tracker.moves(), 0);
1475
+ }
1476
+
1477
+ template <typename Instance, int inlined_capacity>
1478
+ void InstanceRangedConstructorTestWithCapacity() {
1479
+ // Test with const and non-const, random access and non-random-access sources.
1480
+ // TODO(bsamwel): Test with an input iterator source.
1481
+ {
1482
+ SCOPED_TRACE("std::list");
1483
+ InstanceRangedConstructorTestForContainer<Instance, std::list<Instance>,
1484
+ inlined_capacity>();
1485
+ {
1486
+ SCOPED_TRACE("const std::list");
1487
+ InstanceRangedConstructorTestForContainer<
1488
+ Instance, const std::list<Instance>, inlined_capacity>();
1489
+ }
1490
+ {
1491
+ SCOPED_TRACE("std::vector");
1492
+ InstanceRangedConstructorTestForContainer<Instance, std::vector<Instance>,
1493
+ inlined_capacity>();
1494
+ }
1495
+ {
1496
+ SCOPED_TRACE("const std::vector");
1497
+ InstanceRangedConstructorTestForContainer<
1498
+ Instance, const std::vector<Instance>, inlined_capacity>();
1499
+ }
1500
+ }
1501
+ }
1502
+
1503
+ TYPED_TEST_P(InstanceTest, RangedConstructor) {
1504
+ using Instance = TypeParam;
1505
+ SCOPED_TRACE("capacity=1");
1506
+ InstanceRangedConstructorTestWithCapacity<Instance, 1>();
1507
+ SCOPED_TRACE("capacity=2");
1508
+ InstanceRangedConstructorTestWithCapacity<Instance, 2>();
1509
+ }
1510
+
1511
+ TEST(RangedConstructor, ElementsAreConstructed) {
1512
+ std::vector<std::string> source_v = {"cat", "dog"};
1513
+
1514
+ // Force expansion and re-allocation of v. Ensures that when the vector is
1515
+ // expanded that new elements are constructed.
1516
+ absl::InlinedVector<std::string, 1> v(source_v.begin(), source_v.end());
1517
+ EXPECT_EQ("cat", v[0]);
1518
+ EXPECT_EQ("dog", v[1]);
1519
+ }
1520
+
1521
+ TEST(RangedAssign, SimpleType) {
1522
+ const size_t inlined_capacity = absl::InlinedVector<int, 3>().capacity();
1523
+
1524
+ // Test for all combinations of original sizes (empty and non-empty inline,
1525
+ // and out of line) and target sizes.
1526
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1527
+ SCOPED_TRACE(original_size);
1528
+ // Original contents are [12345, 12345, ...]
1529
+ std::vector<int> original_contents(original_size, 12345);
1530
+
1531
+ for (size_t target_size = 0; target_size <= 5; ++target_size) {
1532
+ SCOPED_TRACE(target_size);
1533
+
1534
+ // New contents are [3, 4, ...]
1535
+ std::vector<int> new_contents;
1536
+ for (size_t i = 0; i < target_size; ++i) {
1537
+ new_contents.push_back(static_cast<int>(i + 3));
1538
+ }
1539
+
1540
+ absl::InlinedVector<int, 3> v(original_contents.begin(),
1541
+ original_contents.end());
1542
+ v.assign(new_contents.begin(), new_contents.end());
1543
+
1544
+ EXPECT_EQ(new_contents.size(), v.size());
1545
+ EXPECT_LE(new_contents.size(), v.capacity());
1546
+ if (target_size <= inlined_capacity &&
1547
+ original_size <= inlined_capacity) {
1548
+ // Storage should stay inline when target size is small.
1549
+ EXPECT_EQ(v.capacity(), inlined_capacity);
1550
+ }
1551
+ EXPECT_THAT(v, ElementsAreArray(new_contents));
1552
+ }
1553
+ }
1554
+ }
1555
+
1556
+ // Returns true if lhs and rhs have the same value.
1557
+ template <typename Instance>
1558
+ static bool InstanceValuesEqual(const Instance& lhs, const Instance& rhs) {
1559
+ return lhs.value() == rhs.value();
1560
+ }
1561
+
1562
+ // Test for ranged assign() using Instance as the element type and
1563
+ // SourceContainer as the source container type.
1564
+ template <typename Instance, typename SourceContainer>
1565
+ void InstanceRangedAssignTestForContainer() {
1566
+ // Test for all combinations of original sizes (empty and non-empty inline,
1567
+ // and out of line) and target sizes.
1568
+ for (size_t original_size = 0; original_size <= 5; ++original_size) {
1569
+ SCOPED_TRACE(original_size);
1570
+ // Original contents are [12345, 12345, ...]
1571
+ std::vector<Instance> original_contents(original_size, Instance(12345));
1572
+
1573
+ for (size_t target_size = 0; target_size <= 5; ++target_size) {
1574
+ SCOPED_TRACE(target_size);
1575
+
1576
+ // New contents are [3, 4, ...]
1577
+ // Generate data using a non-const container, because SourceContainer
1578
+ // itself may be const.
1579
+ // TODO(bsamwel): Test with an input iterator.
1580
+ std::vector<Instance> new_contents_in;
1581
+ for (size_t i = 0; i < target_size; ++i) {
1582
+ new_contents_in.push_back(Instance(static_cast<int>(i) + 3));
1583
+ }
1584
+ SourceContainer new_contents(new_contents_in.begin(),
1585
+ new_contents_in.end());
1586
+
1587
+ absl::InlinedVector<Instance, 3> v(original_contents.begin(),
1588
+ original_contents.end());
1589
+ v.assign(new_contents.begin(), new_contents.end());
1590
+
1591
+ EXPECT_EQ(new_contents.size(), v.size());
1592
+ EXPECT_LE(new_contents.size(), v.capacity());
1593
+ if (target_size <= 3 && original_size <= 3) {
1594
+ // Storage should stay inline when target size is small.
1595
+ EXPECT_EQ(3u, v.capacity());
1596
+ }
1597
+ EXPECT_TRUE(std::equal(v.begin(), v.end(), new_contents.begin(),
1598
+ InstanceValuesEqual<Instance>));
1599
+ }
1600
+ }
1601
+ }
1602
+
1603
+ TYPED_TEST_P(InstanceTest, RangedAssign) {
1604
+ using Instance = TypeParam;
1605
+ // Test with const and non-const, random access and non-random-access sources.
1606
+ // TODO(bsamwel): Test with an input iterator source.
1607
+ SCOPED_TRACE("std::list");
1608
+ InstanceRangedAssignTestForContainer<Instance, std::list<Instance>>();
1609
+ SCOPED_TRACE("const std::list");
1610
+ InstanceRangedAssignTestForContainer<Instance, const std::list<Instance>>();
1611
+ SCOPED_TRACE("std::vector");
1612
+ InstanceRangedAssignTestForContainer<Instance, std::vector<Instance>>();
1613
+ SCOPED_TRACE("const std::vector");
1614
+ InstanceRangedAssignTestForContainer<Instance, const std::vector<Instance>>();
1615
+ }
1616
+
1617
+ TEST(InitializerListConstructor, SimpleTypeWithInlineBacking) {
1618
+ EXPECT_THAT((absl::InlinedVector<int, 4>{4, 5, 6}),
1619
+ AllOf(SizeIs(3u), CapacityIs(4u), ElementsAre(4, 5, 6)));
1620
+ }
1621
+
1622
+ TEST(InitializerListConstructor, SimpleTypeWithReallocationRequired) {
1623
+ EXPECT_THAT((absl::InlinedVector<int, 2>{4, 5, 6}),
1624
+ AllOf(SizeIs(3u), CapacityIs(Gt(2u)), ElementsAre(4, 5, 6)));
1625
+ }
1626
+
1627
+ TEST(InitializerListConstructor, DisparateTypesInList) {
1628
+ EXPECT_THAT((absl::InlinedVector<int, 2>{-7, 8ULL}), ElementsAre(-7, 8));
1629
+
1630
+ EXPECT_THAT((absl::InlinedVector<std::string, 2>{"foo", std::string("bar")}),
1631
+ ElementsAre("foo", "bar"));
1632
+ }
1633
+
1634
+ TEST(InitializerListConstructor, ComplexTypeWithInlineBacking) {
1635
+ const size_t inlined_capacity =
1636
+ absl::InlinedVector<CopyableMovableInstance, 1>().capacity();
1637
+ EXPECT_THAT(
1638
+ (absl::InlinedVector<CopyableMovableInstance, 1>{
1639
+ CopyableMovableInstance(0)}),
1640
+ AllOf(SizeIs(1u), CapacityIs(inlined_capacity), ElementsAre(ValueIs(0))));
1641
+ }
1642
+
1643
+ TEST(InitializerListConstructor, ComplexTypeWithReallocationRequired) {
1644
+ EXPECT_THAT((absl::InlinedVector<CopyableMovableInstance, 1>{
1645
+ CopyableMovableInstance(0), CopyableMovableInstance(1)}),
1646
+ AllOf(SizeIs(2u), CapacityIs(Gt(1u)),
1647
+ ElementsAre(ValueIs(0), ValueIs(1))));
1648
+ }
1649
+
1650
+ TEST(InitializerListAssign, SimpleTypeFitsInlineBacking) {
1651
+ for (size_t original_size = 0; original_size <= 4; ++original_size) {
1652
+ SCOPED_TRACE(original_size);
1653
+
1654
+ absl::InlinedVector<int, 2> v1(original_size, 12345);
1655
+ const size_t original_capacity_v1 = v1.capacity();
1656
+ v1.assign({3});
1657
+ EXPECT_THAT(v1, AllOf(SizeIs(1u), CapacityIs(original_capacity_v1),
1658
+ ElementsAre(3)));
1659
+
1660
+ absl::InlinedVector<int, 2> v2(original_size, 12345);
1661
+ const size_t original_capacity_v2 = v2.capacity();
1662
+ v2 = {3};
1663
+ EXPECT_THAT(v2, AllOf(SizeIs(1u), CapacityIs(original_capacity_v2),
1664
+ ElementsAre(3)));
1665
+ }
1666
+ }
1667
+
1668
+ TEST(InitializerListAssign, SimpleTypeDoesNotFitInlineBacking) {
1669
+ for (size_t original_size = 0; original_size <= 4; ++original_size) {
1670
+ SCOPED_TRACE(original_size);
1671
+ absl::InlinedVector<int, 2> v1(original_size, 12345);
1672
+ v1.assign({3, 4, 5});
1673
+ EXPECT_THAT(v1, AllOf(SizeIs(3u), ElementsAre(3, 4, 5)));
1674
+ EXPECT_LE(3u, v1.capacity());
1675
+
1676
+ absl::InlinedVector<int, 2> v2(original_size, 12345);
1677
+ v2 = {3, 4, 5};
1678
+ EXPECT_THAT(v2, AllOf(SizeIs(3u), ElementsAre(3, 4, 5)));
1679
+ EXPECT_LE(3u, v2.capacity());
1680
+ }
1681
+ }
1682
+
1683
+ TEST(InitializerListAssign, DisparateTypesInList) {
1684
+ absl::InlinedVector<int, 2> v_int1;
1685
+ v_int1.assign({-7, 8ULL});
1686
+ EXPECT_THAT(v_int1, ElementsAre(-7, 8));
1687
+
1688
+ absl::InlinedVector<int, 2> v_int2;
1689
+ v_int2 = {-7, 8ULL};
1690
+ EXPECT_THAT(v_int2, ElementsAre(-7, 8));
1691
+
1692
+ absl::InlinedVector<std::string, 2> v_string1;
1693
+ v_string1.assign({"foo", std::string("bar")});
1694
+ EXPECT_THAT(v_string1, ElementsAre("foo", "bar"));
1695
+
1696
+ absl::InlinedVector<std::string, 2> v_string2;
1697
+ v_string2 = {"foo", std::string("bar")};
1698
+ EXPECT_THAT(v_string2, ElementsAre("foo", "bar"));
1699
+ }
1700
+
1701
+ TYPED_TEST_P(InstanceTest, InitializerListAssign) {
1702
+ using Instance = TypeParam;
1703
+ for (size_t original_size = 0; original_size <= 4; ++original_size) {
1704
+ SCOPED_TRACE(original_size);
1705
+ absl::InlinedVector<Instance, 2> v(original_size, Instance(12345));
1706
+ const size_t original_capacity = v.capacity();
1707
+ v.assign({Instance(3)});
1708
+ EXPECT_THAT(v, AllOf(SizeIs(1u), CapacityIs(original_capacity),
1709
+ ElementsAre(ValueIs(3))));
1710
+ }
1711
+ for (size_t original_size = 0; original_size <= 4; ++original_size) {
1712
+ SCOPED_TRACE(original_size);
1713
+ absl::InlinedVector<Instance, 2> v(original_size, Instance(12345));
1714
+ v.assign({Instance(3), Instance(4), Instance(5)});
1715
+ EXPECT_THAT(
1716
+ v, AllOf(SizeIs(3u), ElementsAre(ValueIs(3), ValueIs(4), ValueIs(5))));
1717
+ EXPECT_LE(3u, v.capacity());
1718
+ }
1719
+ }
1720
+
1721
+ REGISTER_TYPED_TEST_SUITE_P(InstanceTest, Swap, CountConstructorsDestructors,
1722
+ CountConstructorsDestructorsOnCopyConstruction,
1723
+ CountConstructorsDestructorsOnMoveConstruction,
1724
+ CountConstructorsDestructorsOnAssignment,
1725
+ CountConstructorsDestructorsOnMoveAssignment,
1726
+ CountElemAssignInlineBacking, RangedConstructor,
1727
+ RangedAssign, InitializerListAssign);
1728
+
1729
+ using InstanceTypes =
1730
+ ::testing::Types<CopyableOnlyInstance, CopyableMovableInstance>;
1731
+ INSTANTIATE_TYPED_TEST_SUITE_P(InstanceTestOnTypes, InstanceTest,
1732
+ InstanceTypes);
1733
+
1734
+ TEST(DynamicVec, DynamicVecCompiles) {
1735
+ DynamicVec v;
1736
+ (void)v;
1737
+ }
1738
+
1739
+ TEST(DynamicVec, CreateNonEmptyDynamicVec) {
1740
+ DynamicVec v(1);
1741
+ EXPECT_EQ(v.size(), 1u);
1742
+ }
1743
+
1744
+ TEST(DynamicVec, EmplaceBack) {
1745
+ DynamicVec v;
1746
+ v.emplace_back(Dynamic{});
1747
+ EXPECT_EQ(v.size(), 1u);
1748
+ }
1749
+
1750
+ TEST(DynamicVec, EmplaceBackAfterHeapAllocation) {
1751
+ DynamicVec v;
1752
+ v.reserve(10);
1753
+ v.emplace_back(Dynamic{});
1754
+ EXPECT_EQ(v.size(), 1u);
1755
+ }
1756
+
1757
+ TEST(DynamicVec, EmptyIteratorComparison) {
1758
+ DynamicVec v;
1759
+ EXPECT_EQ(v.begin(), v.end());
1760
+ EXPECT_EQ(v.cbegin(), v.cend());
1761
+ }
1762
+
1763
+ TEST(AllocatorSupportTest, Constructors) {
1764
+ using MyAlloc = CountingAllocator<int>;
1765
+ using AllocVec = absl::InlinedVector<int, 4, MyAlloc>;
1766
+ const int ia[] = {0, 1, 2, 3, 4, 5, 6, 7};
1767
+ int64_t allocated = 0;
1768
+ MyAlloc alloc(&allocated);
1769
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v; }
1770
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v(alloc); }
1771
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v(ia, ia + ABSL_ARRAYSIZE(ia), alloc); }
1772
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v({1, 2, 3}, alloc); }
1773
+
1774
+ AllocVec v2;
1775
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v(v2, alloc); }
1776
+ { AllocVec ABSL_ATTRIBUTE_UNUSED v(std::move(v2), alloc); }
1777
+ }
1778
+
1779
+ TEST(AllocatorSupportTest, CountAllocations) {
1780
+ using MyAlloc = CountingAllocator<int>;
1781
+ using AllocVec = absl::InlinedVector<int, 4, MyAlloc>;
1782
+ const int ia[] = {0, 1, 2, 3, 4, 5, 6, 7};
1783
+ int64_t bytes_allocated = 0;
1784
+ int64_t instance_count = 0;
1785
+ MyAlloc alloc(&bytes_allocated, &instance_count);
1786
+ {
1787
+ AllocVec ABSL_ATTRIBUTE_UNUSED v(ia, ia + 4, alloc);
1788
+ EXPECT_THAT(bytes_allocated, Eq(0));
1789
+ EXPECT_THAT(instance_count, Eq(4));
1790
+ }
1791
+ EXPECT_THAT(bytes_allocated, Eq(0));
1792
+ EXPECT_THAT(instance_count, Eq(0));
1793
+ {
1794
+ AllocVec ABSL_ATTRIBUTE_UNUSED v(ia, ia + ABSL_ARRAYSIZE(ia), alloc);
1795
+ EXPECT_THAT(bytes_allocated,
1796
+ Eq(static_cast<int64_t>(v.size() * sizeof(int))));
1797
+ EXPECT_THAT(instance_count, Eq(static_cast<int64_t>(v.size())));
1798
+ }
1799
+ EXPECT_THAT(bytes_allocated, Eq(0));
1800
+ EXPECT_THAT(instance_count, Eq(0));
1801
+ {
1802
+ AllocVec v(4, 1, alloc);
1803
+ EXPECT_THAT(bytes_allocated, Eq(0));
1804
+ EXPECT_THAT(instance_count, Eq(4));
1805
+
1806
+ int64_t bytes_allocated2 = 0;
1807
+ MyAlloc alloc2(&bytes_allocated2);
1808
+ ABSL_ATTRIBUTE_UNUSED AllocVec v2(v, alloc2);
1809
+ EXPECT_THAT(bytes_allocated2, Eq(0));
1810
+
1811
+ int64_t bytes_allocated3 = 0;
1812
+ MyAlloc alloc3(&bytes_allocated3);
1813
+ ABSL_ATTRIBUTE_UNUSED AllocVec v3(std::move(v), alloc3);
1814
+ EXPECT_THAT(bytes_allocated3, Eq(0));
1815
+ }
1816
+ EXPECT_THAT(bytes_allocated, Eq(0));
1817
+ EXPECT_THAT(instance_count, Eq(0));
1818
+ {
1819
+ AllocVec v(8, 2, alloc);
1820
+ EXPECT_THAT(bytes_allocated,
1821
+ Eq(static_cast<int64_t>(v.size() * sizeof(int))));
1822
+ EXPECT_THAT(instance_count, Eq(static_cast<int64_t>(v.size())));
1823
+
1824
+ int64_t bytes_allocated2 = 0;
1825
+ MyAlloc alloc2(&bytes_allocated2);
1826
+ AllocVec v2(v, alloc2);
1827
+ EXPECT_THAT(bytes_allocated2,
1828
+ Eq(static_cast<int64_t>(v2.size() * sizeof(int))));
1829
+
1830
+ int64_t bytes_allocated3 = 0;
1831
+ MyAlloc alloc3(&bytes_allocated3);
1832
+ AllocVec v3(std::move(v), alloc3);
1833
+ EXPECT_THAT(bytes_allocated3,
1834
+ Eq(static_cast<int64_t>(v3.size() * sizeof(int))));
1835
+ }
1836
+ EXPECT_EQ(bytes_allocated, 0);
1837
+ EXPECT_EQ(instance_count, 0);
1838
+ {
1839
+ // Test shrink_to_fit deallocations.
1840
+ AllocVec v(8, 2, alloc);
1841
+ EXPECT_EQ(bytes_allocated, static_cast<int64_t>(8 * sizeof(int)));
1842
+ EXPECT_EQ(instance_count, 8);
1843
+ v.resize(5);
1844
+ EXPECT_EQ(bytes_allocated, static_cast<int64_t>(8 * sizeof(int)));
1845
+ EXPECT_EQ(instance_count, 5);
1846
+ v.shrink_to_fit();
1847
+ EXPECT_EQ(bytes_allocated, static_cast<int64_t>(5 * sizeof(int)));
1848
+ EXPECT_EQ(instance_count, 5);
1849
+ v.resize(4);
1850
+ EXPECT_EQ(bytes_allocated, static_cast<int64_t>(5 * sizeof(int)));
1851
+ EXPECT_EQ(instance_count, 4);
1852
+ v.shrink_to_fit();
1853
+ EXPECT_EQ(bytes_allocated, 0);
1854
+ EXPECT_EQ(instance_count, 4);
1855
+ }
1856
+ EXPECT_EQ(instance_count, 0);
1857
+ }
1858
+
1859
+ TEST(AllocatorSupportTest, SwapBothAllocated) {
1860
+ using MyAlloc = CountingAllocator<int>;
1861
+ using AllocVec = absl::InlinedVector<int, 4, MyAlloc>;
1862
+ int64_t allocated1 = 0;
1863
+ int64_t allocated2 = 0;
1864
+ {
1865
+ const int ia1[] = {0, 1, 2, 3, 4, 5, 6, 7};
1866
+ const int ia2[] = {0, 1, 2, 3, 4, 5, 6, 7, 8};
1867
+ MyAlloc a1(&allocated1);
1868
+ MyAlloc a2(&allocated2);
1869
+ AllocVec v1(ia1, ia1 + ABSL_ARRAYSIZE(ia1), a1);
1870
+ AllocVec v2(ia2, ia2 + ABSL_ARRAYSIZE(ia2), a2);
1871
+ EXPECT_LT(v1.capacity(), v2.capacity());
1872
+ EXPECT_THAT(allocated1,
1873
+ Eq(static_cast<int64_t>(v1.capacity() * sizeof(int))));
1874
+ EXPECT_THAT(allocated2,
1875
+ Eq(static_cast<int64_t>(v2.capacity() * sizeof(int))));
1876
+ v1.swap(v2);
1877
+ EXPECT_THAT(v1, ElementsAreArray(ia2));
1878
+ EXPECT_THAT(v2, ElementsAreArray(ia1));
1879
+ EXPECT_THAT(allocated1,
1880
+ Eq(static_cast<int64_t>(v2.capacity() * sizeof(int))));
1881
+ EXPECT_THAT(allocated2,
1882
+ Eq(static_cast<int64_t>(v1.capacity() * sizeof(int))));
1883
+ }
1884
+ EXPECT_THAT(allocated1, 0);
1885
+ EXPECT_THAT(allocated2, 0);
1886
+ }
1887
+
1888
+ TEST(AllocatorSupportTest, SwapOneAllocated) {
1889
+ using MyAlloc = CountingAllocator<int>;
1890
+ using AllocVec = absl::InlinedVector<int, 4, MyAlloc>;
1891
+ int64_t allocated1 = 0;
1892
+ int64_t allocated2 = 0;
1893
+ {
1894
+ const int ia1[] = {0, 1, 2, 3, 4, 5, 6, 7};
1895
+ const int ia2[] = {0, 1, 2, 3};
1896
+ MyAlloc a1(&allocated1);
1897
+ MyAlloc a2(&allocated2);
1898
+ AllocVec v1(ia1, ia1 + ABSL_ARRAYSIZE(ia1), a1);
1899
+ AllocVec v2(ia2, ia2 + ABSL_ARRAYSIZE(ia2), a2);
1900
+ EXPECT_THAT(allocated1,
1901
+ Eq(static_cast<int64_t>(v1.capacity() * sizeof(int))));
1902
+ EXPECT_THAT(allocated2, Eq(0));
1903
+ v1.swap(v2);
1904
+ EXPECT_THAT(v1, ElementsAreArray(ia2));
1905
+ EXPECT_THAT(v2, ElementsAreArray(ia1));
1906
+ EXPECT_THAT(allocated1,
1907
+ Eq(static_cast<int64_t>(v2.capacity() * sizeof(int))));
1908
+ EXPECT_THAT(allocated2, Eq(0));
1909
+ EXPECT_TRUE(v2.get_allocator() == a1);
1910
+ EXPECT_TRUE(v1.get_allocator() == a2);
1911
+ }
1912
+ EXPECT_THAT(allocated1, 0);
1913
+ EXPECT_THAT(allocated2, 0);
1914
+ }
1915
+
1916
+ TEST(AllocatorSupportTest, ScopedAllocatorWorksInlined) {
1917
+ using StdVector = std::vector<int, CountingAllocator<int>>;
1918
+ using Alloc = CountingAllocator<StdVector>;
1919
+ using ScopedAlloc = std::scoped_allocator_adaptor<Alloc>;
1920
+ using AllocVec = absl::InlinedVector<StdVector, 1, ScopedAlloc>;
1921
+
1922
+ int64_t total_allocated_byte_count = 0;
1923
+
1924
+ AllocVec inlined_case(ScopedAlloc(Alloc(+&total_allocated_byte_count)));
1925
+
1926
+ // Called only once to remain inlined
1927
+ inlined_case.emplace_back();
1928
+
1929
+ int64_t absl_responsible_for_count = total_allocated_byte_count;
1930
+
1931
+ // MSVC's allocator preemptively allocates in debug mode
1932
+ #if !defined(_MSC_VER)
1933
+ EXPECT_EQ(absl_responsible_for_count, 0);
1934
+ #endif // !defined(_MSC_VER)
1935
+
1936
+ inlined_case[0].emplace_back();
1937
+ EXPECT_GT(total_allocated_byte_count, absl_responsible_for_count);
1938
+
1939
+ inlined_case.clear();
1940
+ inlined_case.shrink_to_fit();
1941
+ EXPECT_EQ(total_allocated_byte_count, 0);
1942
+ }
1943
+
1944
+ TEST(AllocatorSupportTest, ScopedAllocatorWorksAllocated) {
1945
+ using StdVector = std::vector<int, CountingAllocator<int>>;
1946
+ using Alloc = CountingAllocator<StdVector>;
1947
+ using ScopedAlloc = std::scoped_allocator_adaptor<Alloc>;
1948
+ using AllocVec = absl::InlinedVector<StdVector, 1, ScopedAlloc>;
1949
+
1950
+ int64_t total_allocated_byte_count = 0;
1951
+
1952
+ AllocVec allocated_case(ScopedAlloc(Alloc(+&total_allocated_byte_count)));
1953
+
1954
+ // Called twice to force into being allocated
1955
+ allocated_case.emplace_back();
1956
+ allocated_case.emplace_back();
1957
+
1958
+ int64_t absl_responsible_for_count = total_allocated_byte_count;
1959
+ EXPECT_GT(absl_responsible_for_count, 0);
1960
+
1961
+ allocated_case[1].emplace_back();
1962
+ EXPECT_GT(total_allocated_byte_count, absl_responsible_for_count);
1963
+
1964
+ allocated_case.clear();
1965
+ allocated_case.shrink_to_fit();
1966
+ EXPECT_EQ(total_allocated_byte_count, 0);
1967
+ }
1968
+
1969
+ TEST(AllocatorSupportTest, SizeAllocConstructor) {
1970
+ constexpr size_t inlined_size = 4;
1971
+ using Alloc = CountingAllocator<int>;
1972
+ using AllocVec = absl::InlinedVector<int, inlined_size, Alloc>;
1973
+
1974
+ {
1975
+ auto len = inlined_size / 2;
1976
+ int64_t allocated = 0;
1977
+ auto v = AllocVec(len, Alloc(&allocated));
1978
+
1979
+ // Inline storage used; allocator should not be invoked
1980
+ EXPECT_THAT(allocated, Eq(0));
1981
+ EXPECT_THAT(v, AllOf(SizeIs(len), Each(0)));
1982
+ }
1983
+
1984
+ {
1985
+ auto len = inlined_size * 2;
1986
+ int64_t allocated = 0;
1987
+ auto v = AllocVec(len, Alloc(&allocated));
1988
+
1989
+ // Out of line storage used; allocation of 8 elements expected
1990
+ EXPECT_THAT(allocated, Eq(static_cast<int64_t>(len * sizeof(int))));
1991
+ EXPECT_THAT(v, AllOf(SizeIs(len), Each(0)));
1992
+ }
1993
+ }
1994
+
1995
+ TEST(InlinedVectorTest, MinimumAllocatorCompilesUsingTraits) {
1996
+ using T = int;
1997
+ using A = std::allocator<T>;
1998
+ using ATraits = absl::allocator_traits<A>;
1999
+
2000
+ struct MinimumAllocator {
2001
+ using value_type = T;
2002
+
2003
+ value_type* allocate(size_t n) {
2004
+ A a;
2005
+ return ATraits::allocate(a, n);
2006
+ }
2007
+
2008
+ void deallocate(value_type* p, size_t n) {
2009
+ A a;
2010
+ ATraits::deallocate(a, p, n);
2011
+ }
2012
+ };
2013
+
2014
+ absl::InlinedVector<T, 1, MinimumAllocator> vec;
2015
+ vec.emplace_back();
2016
+ vec.resize(0);
2017
+ }
2018
+
2019
+ TEST(InlinedVectorTest, AbslHashValueWorks) {
2020
+ using V = absl::InlinedVector<int, 4>;
2021
+ std::vector<V> cases;
2022
+
2023
+ // Generate a variety of vectors some of these are small enough for the inline
2024
+ // space but are stored out of line.
2025
+ for (size_t i = 0; i < 10; ++i) {
2026
+ V v;
2027
+ for (int j = 0; j < static_cast<int>(i); ++j) {
2028
+ v.push_back(j);
2029
+ }
2030
+ cases.push_back(v);
2031
+ v.resize(i % 4);
2032
+ cases.push_back(v);
2033
+ }
2034
+
2035
+ EXPECT_TRUE(absl::VerifyTypeImplementsAbslHashCorrectly(cases));
2036
+ }
2037
+
2038
+ class MoveConstructibleOnlyInstance
2039
+ : public absl::test_internal::BaseCountedInstance {
2040
+ public:
2041
+ explicit MoveConstructibleOnlyInstance(int x) : BaseCountedInstance(x) {}
2042
+ MoveConstructibleOnlyInstance(MoveConstructibleOnlyInstance&& other) =
2043
+ default;
2044
+ MoveConstructibleOnlyInstance& operator=(
2045
+ MoveConstructibleOnlyInstance&& other) = delete;
2046
+ };
2047
+
2048
+ MATCHER(HasValue, "") {
2049
+ return ::testing::get<0>(arg).value() == ::testing::get<1>(arg);
2050
+ }
2051
+
2052
+ TEST(NonAssignableMoveAssignmentTest, AllocatedToInline) {
2053
+ using X = MoveConstructibleOnlyInstance;
2054
+ InstanceTracker tracker;
2055
+ absl::InlinedVector<X, 2> inlined;
2056
+ inlined.emplace_back(1);
2057
+ absl::InlinedVector<X, 2> allocated;
2058
+ allocated.emplace_back(1);
2059
+ allocated.emplace_back(2);
2060
+ allocated.emplace_back(3);
2061
+ tracker.ResetCopiesMovesSwaps();
2062
+
2063
+ inlined = std::move(allocated);
2064
+ // passed ownership of the allocated storage
2065
+ EXPECT_EQ(tracker.moves(), 0);
2066
+ EXPECT_EQ(tracker.live_instances(), 3);
2067
+
2068
+ EXPECT_THAT(inlined, Pointwise(HasValue(), {1, 2, 3}));
2069
+ }
2070
+
2071
+ TEST(NonAssignableMoveAssignmentTest, InlineToAllocated) {
2072
+ using X = MoveConstructibleOnlyInstance;
2073
+ InstanceTracker tracker;
2074
+ absl::InlinedVector<X, 2> inlined;
2075
+ inlined.emplace_back(1);
2076
+ absl::InlinedVector<X, 2> allocated;
2077
+ allocated.emplace_back(1);
2078
+ allocated.emplace_back(2);
2079
+ allocated.emplace_back(3);
2080
+ tracker.ResetCopiesMovesSwaps();
2081
+
2082
+ allocated = std::move(inlined);
2083
+ // Moved elements
2084
+ EXPECT_EQ(tracker.moves(), 1);
2085
+ EXPECT_EQ(tracker.live_instances(), 1);
2086
+
2087
+ EXPECT_THAT(allocated, Pointwise(HasValue(), {1}));
2088
+ }
2089
+
2090
+ TEST(NonAssignableMoveAssignmentTest, InlineToInline) {
2091
+ using X = MoveConstructibleOnlyInstance;
2092
+ InstanceTracker tracker;
2093
+ absl::InlinedVector<X, 2> inlined_a;
2094
+ inlined_a.emplace_back(1);
2095
+ absl::InlinedVector<X, 2> inlined_b;
2096
+ inlined_b.emplace_back(1);
2097
+ tracker.ResetCopiesMovesSwaps();
2098
+
2099
+ inlined_a = std::move(inlined_b);
2100
+ // Moved elements
2101
+ EXPECT_EQ(tracker.moves(), 1);
2102
+ EXPECT_EQ(tracker.live_instances(), 1);
2103
+
2104
+ EXPECT_THAT(inlined_a, Pointwise(HasValue(), {1}));
2105
+ }
2106
+
2107
+ TEST(NonAssignableMoveAssignmentTest, AllocatedToAllocated) {
2108
+ using X = MoveConstructibleOnlyInstance;
2109
+ InstanceTracker tracker;
2110
+ absl::InlinedVector<X, 2> allocated_a;
2111
+ allocated_a.emplace_back(1);
2112
+ allocated_a.emplace_back(2);
2113
+ allocated_a.emplace_back(3);
2114
+ absl::InlinedVector<X, 2> allocated_b;
2115
+ allocated_b.emplace_back(4);
2116
+ allocated_b.emplace_back(5);
2117
+ allocated_b.emplace_back(6);
2118
+ allocated_b.emplace_back(7);
2119
+ tracker.ResetCopiesMovesSwaps();
2120
+
2121
+ allocated_a = std::move(allocated_b);
2122
+ // passed ownership of the allocated storage
2123
+ EXPECT_EQ(tracker.moves(), 0);
2124
+ EXPECT_EQ(tracker.live_instances(), 4);
2125
+
2126
+ EXPECT_THAT(allocated_a, Pointwise(HasValue(), {4, 5, 6, 7}));
2127
+ }
2128
+
2129
+ TEST(NonAssignableMoveAssignmentTest, AssignThis) {
2130
+ using X = MoveConstructibleOnlyInstance;
2131
+ InstanceTracker tracker;
2132
+ absl::InlinedVector<X, 2> v;
2133
+ v.emplace_back(1);
2134
+ v.emplace_back(2);
2135
+ v.emplace_back(3);
2136
+
2137
+ tracker.ResetCopiesMovesSwaps();
2138
+
2139
+ // Obfuscated in order to pass -Wself-move.
2140
+ v = std::move(*std::addressof(v));
2141
+ // nothing happens
2142
+ EXPECT_EQ(tracker.moves(), 0);
2143
+ EXPECT_EQ(tracker.live_instances(), 3);
2144
+
2145
+ EXPECT_THAT(v, Pointwise(HasValue(), {1, 2, 3}));
2146
+ }
2147
+
2148
+ class NonSwappableInstance : public absl::test_internal::BaseCountedInstance {
2149
+ public:
2150
+ explicit NonSwappableInstance(int x) : BaseCountedInstance(x) {}
2151
+ NonSwappableInstance(const NonSwappableInstance& other) = default;
2152
+ NonSwappableInstance& operator=(const NonSwappableInstance& other) = default;
2153
+ NonSwappableInstance(NonSwappableInstance&& other) = default;
2154
+ NonSwappableInstance& operator=(NonSwappableInstance&& other) = default;
2155
+ };
2156
+
2157
+ void swap(NonSwappableInstance&, NonSwappableInstance&) = delete;
2158
+
2159
+ TEST(NonSwappableSwapTest, InlineAndAllocatedTransferStorageAndMove) {
2160
+ using X = NonSwappableInstance;
2161
+ InstanceTracker tracker;
2162
+ absl::InlinedVector<X, 2> inlined;
2163
+ inlined.emplace_back(1);
2164
+ absl::InlinedVector<X, 2> allocated;
2165
+ allocated.emplace_back(1);
2166
+ allocated.emplace_back(2);
2167
+ allocated.emplace_back(3);
2168
+ tracker.ResetCopiesMovesSwaps();
2169
+
2170
+ inlined.swap(allocated);
2171
+ EXPECT_EQ(tracker.moves(), 1);
2172
+ EXPECT_EQ(tracker.live_instances(), 4);
2173
+
2174
+ EXPECT_THAT(inlined, Pointwise(HasValue(), {1, 2, 3}));
2175
+ }
2176
+
2177
+ TEST(NonSwappableSwapTest, InlineAndInlineMoveIndividualElements) {
2178
+ using X = NonSwappableInstance;
2179
+ InstanceTracker tracker;
2180
+ absl::InlinedVector<X, 2> inlined_a;
2181
+ inlined_a.emplace_back(1);
2182
+ absl::InlinedVector<X, 2> inlined_b;
2183
+ inlined_b.emplace_back(2);
2184
+ tracker.ResetCopiesMovesSwaps();
2185
+
2186
+ inlined_a.swap(inlined_b);
2187
+ EXPECT_EQ(tracker.moves(), 3);
2188
+ EXPECT_EQ(tracker.live_instances(), 2);
2189
+
2190
+ EXPECT_THAT(inlined_a, Pointwise(HasValue(), {2}));
2191
+ EXPECT_THAT(inlined_b, Pointwise(HasValue(), {1}));
2192
+ }
2193
+
2194
+ TEST(NonSwappableSwapTest, AllocatedAndAllocatedOnlyTransferStorage) {
2195
+ using X = NonSwappableInstance;
2196
+ InstanceTracker tracker;
2197
+ absl::InlinedVector<X, 2> allocated_a;
2198
+ allocated_a.emplace_back(1);
2199
+ allocated_a.emplace_back(2);
2200
+ allocated_a.emplace_back(3);
2201
+ absl::InlinedVector<X, 2> allocated_b;
2202
+ allocated_b.emplace_back(4);
2203
+ allocated_b.emplace_back(5);
2204
+ allocated_b.emplace_back(6);
2205
+ allocated_b.emplace_back(7);
2206
+ tracker.ResetCopiesMovesSwaps();
2207
+
2208
+ allocated_a.swap(allocated_b);
2209
+ EXPECT_EQ(tracker.moves(), 0);
2210
+ EXPECT_EQ(tracker.live_instances(), 7);
2211
+
2212
+ EXPECT_THAT(allocated_a, Pointwise(HasValue(), {4, 5, 6, 7}));
2213
+ EXPECT_THAT(allocated_b, Pointwise(HasValue(), {1, 2, 3}));
2214
+ }
2215
+
2216
+ TEST(NonSwappableSwapTest, SwapThis) {
2217
+ using X = NonSwappableInstance;
2218
+ InstanceTracker tracker;
2219
+ absl::InlinedVector<X, 2> v;
2220
+ v.emplace_back(1);
2221
+ v.emplace_back(2);
2222
+ v.emplace_back(3);
2223
+
2224
+ tracker.ResetCopiesMovesSwaps();
2225
+
2226
+ v.swap(v);
2227
+ EXPECT_EQ(tracker.moves(), 0);
2228
+ EXPECT_EQ(tracker.live_instances(), 3);
2229
+
2230
+ EXPECT_THAT(v, Pointwise(HasValue(), {1, 2, 3}));
2231
+ }
2232
+
2233
+ template <size_t N>
2234
+ using CharVec = absl::InlinedVector<char, N>;
2235
+
2236
+ // Warning: This struct "simulates" the type `InlinedVector::Storage::Allocated`
2237
+ // to make reasonable expectations for inlined storage capacity optimization. If
2238
+ // implementation changes `Allocated`, then `MySpan` and tests that use it need
2239
+ // to be updated accordingly.
2240
+ template <typename T>
2241
+ struct MySpan {
2242
+ T* data;
2243
+ size_t size;
2244
+ };
2245
+
2246
+ TEST(StorageTest, InlinedCapacityAutoIncrease) {
2247
+ // The requested capacity is auto increased to `sizeof(MySpan<char>)`.
2248
+ EXPECT_GT(CharVec<1>().capacity(), 1);
2249
+ EXPECT_EQ(CharVec<1>().capacity(), sizeof(MySpan<char>));
2250
+ EXPECT_EQ(CharVec<1>().capacity(), CharVec<2>().capacity());
2251
+ EXPECT_EQ(sizeof(CharVec<1>), sizeof(CharVec<2>));
2252
+
2253
+ // The requested capacity is auto increased to
2254
+ // `sizeof(MySpan<int>) / sizeof(int)`.
2255
+ EXPECT_GT((absl::InlinedVector<int, 1>().capacity()), 1);
2256
+ EXPECT_EQ((absl::InlinedVector<int, 1>().capacity()),
2257
+ sizeof(MySpan<int>) / sizeof(int));
2258
+ }
2259
+
2260
+ TEST(IntVec, EraseIf) {
2261
+ IntVec v = {3, 1, 2, 0};
2262
+ EXPECT_EQ(absl::erase_if(v, [](int i) { return i > 1; }), 2u);
2263
+ EXPECT_THAT(v, ElementsAre(1, 0));
2264
+ }
2265
+
2266
+ TEST(IntVec, EraseIfMatchesNone) {
2267
+ IntVec v = {1, 2, 3};
2268
+ EXPECT_EQ(absl::erase_if(v, [](int i) { return i > 10; }), 0u);;
2269
+ EXPECT_THAT(v, ElementsAre(1, 2, 3));
2270
+ }
2271
+
2272
+ TEST(IntVec, EraseIfMatchesAll) {
2273
+ IntVec v = {1, 2, 3};
2274
+ EXPECT_EQ(absl::erase_if(v, [](int i) { return i > 0; }), 3u);
2275
+ EXPECT_THAT(v, IsEmpty());
2276
+ }
2277
+
2278
+ } // anonymous namespace