1# 2# Copyright 2017 The Abseil Authors. 3# 4# Licensed under the Apache License, Version 2.0 (the "License"); 5# you may not use this file except in compliance with the License. 6# You may obtain a copy of the License at 7# 8# https://www.apache.org/licenses/LICENSE-2.0 9# 10# Unless required by applicable law or agreed to in writing, software 11# distributed under the License is distributed on an "AS IS" BASIS, 12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13# See the License for the specific language governing permissions and 14# limitations under the License. 15# 16 17load( 18 "//absl:copts/configure_copts.bzl", 19 "ABSL_DEFAULT_COPTS", 20 "ABSL_DEFAULT_LINKOPTS", 21 "ABSL_TEST_COPTS", 22) 23 24package( 25 default_visibility = ["//visibility:public"], 26 features = [ 27 "header_modules", 28 "layering_check", 29 "parse_headers", 30 ], 31) 32 33licenses(["notice"]) 34 35cc_library( 36 name = "compressed_tuple", 37 hdrs = ["internal/compressed_tuple.h"], 38 copts = ABSL_DEFAULT_COPTS, 39 linkopts = ABSL_DEFAULT_LINKOPTS, 40 deps = [ 41 "//absl/utility", 42 ], 43) 44 45cc_test( 46 name = "compressed_tuple_test", 47 srcs = ["internal/compressed_tuple_test.cc"], 48 copts = ABSL_TEST_COPTS, 49 linkopts = ABSL_DEFAULT_LINKOPTS, 50 deps = [ 51 ":compressed_tuple", 52 ":test_instance_tracker", 53 "//absl/memory", 54 "//absl/types:any", 55 "//absl/types:optional", 56 "//absl/utility", 57 "@com_google_googletest//:gtest", 58 "@com_google_googletest//:gtest_main", 59 ], 60) 61 62cc_library( 63 name = "fixed_array", 64 hdrs = ["fixed_array.h"], 65 copts = ABSL_DEFAULT_COPTS, 66 linkopts = ABSL_DEFAULT_LINKOPTS, 67 deps = [ 68 ":compressed_tuple", 69 "//absl/algorithm", 70 "//absl/base:config", 71 "//absl/base:core_headers", 72 "//absl/base:dynamic_annotations", 73 "//absl/base:throw_delegate", 74 "//absl/memory", 75 ], 76) 77 78cc_test( 79 name = "fixed_array_test", 80 srcs = ["fixed_array_test.cc"], 81 copts = ABSL_TEST_COPTS, 82 linkopts = ABSL_DEFAULT_LINKOPTS, 83 deps = [ 84 ":fixed_array", 85 ":test_allocator", 86 "//absl/base:config", 87 "//absl/base:exception_testing", 88 "//absl/hash:hash_testing", 89 "//absl/memory", 90 "@com_google_googletest//:gtest", 91 "@com_google_googletest//:gtest_main", 92 ], 93) 94 95cc_test( 96 name = "fixed_array_exception_safety_test", 97 srcs = ["fixed_array_exception_safety_test.cc"], 98 copts = ABSL_TEST_COPTS, 99 linkopts = ABSL_DEFAULT_LINKOPTS, 100 deps = [ 101 ":fixed_array", 102 "//absl/base:config", 103 "//absl/base:exception_safety_testing", 104 "@com_google_googletest//:gtest", 105 "@com_google_googletest//:gtest_main", 106 ], 107) 108 109cc_binary( 110 name = "fixed_array_benchmark", 111 testonly = True, 112 srcs = ["fixed_array_benchmark.cc"], 113 copts = ABSL_TEST_COPTS + ["$(STACK_FRAME_UNLIMITED)"], 114 linkopts = ABSL_DEFAULT_LINKOPTS, 115 tags = ["benchmark"], 116 deps = [ 117 ":fixed_array", 118 "@com_github_google_benchmark//:benchmark_main", 119 ], 120) 121 122cc_library( 123 name = "inlined_vector_internal", 124 hdrs = ["internal/inlined_vector.h"], 125 copts = ABSL_DEFAULT_COPTS, 126 linkopts = ABSL_DEFAULT_LINKOPTS, 127 deps = [ 128 ":compressed_tuple", 129 "//absl/base:base_internal", 130 "//absl/base:config", 131 "//absl/base:core_headers", 132 "//absl/memory", 133 "//absl/meta:type_traits", 134 "//absl/types:span", 135 ], 136) 137 138cc_library( 139 name = "inlined_vector", 140 hdrs = ["inlined_vector.h"], 141 copts = ABSL_DEFAULT_COPTS, 142 linkopts = ABSL_DEFAULT_LINKOPTS, 143 deps = [ 144 ":inlined_vector_internal", 145 "//absl/algorithm", 146 "//absl/base:core_headers", 147 "//absl/base:throw_delegate", 148 "//absl/memory", 149 "//absl/meta:type_traits", 150 ], 151) 152 153cc_library( 154 name = "test_allocator", 155 testonly = True, 156 copts = ABSL_TEST_COPTS, 157 linkopts = ABSL_DEFAULT_LINKOPTS, 158 textual_hdrs = ["internal/test_allocator.h"], 159 visibility = ["//visibility:private"], 160) 161 162cc_test( 163 name = "inlined_vector_test", 164 srcs = ["inlined_vector_test.cc"], 165 copts = ABSL_TEST_COPTS, 166 linkopts = ABSL_DEFAULT_LINKOPTS, 167 deps = [ 168 ":inlined_vector", 169 ":test_allocator", 170 ":test_instance_tracker", 171 "//absl/base:config", 172 "//absl/base:core_headers", 173 "//absl/base:exception_testing", 174 "//absl/hash:hash_testing", 175 "//absl/log:check", 176 "//absl/memory", 177 "//absl/strings", 178 "@com_google_googletest//:gtest", 179 "@com_google_googletest//:gtest_main", 180 ], 181) 182 183cc_binary( 184 name = "inlined_vector_benchmark", 185 testonly = True, 186 srcs = ["inlined_vector_benchmark.cc"], 187 copts = ABSL_TEST_COPTS, 188 linkopts = ABSL_DEFAULT_LINKOPTS, 189 tags = ["benchmark"], 190 deps = [ 191 ":inlined_vector", 192 "//absl/base:core_headers", 193 "//absl/base:raw_logging_internal", 194 "//absl/strings", 195 "@com_github_google_benchmark//:benchmark_main", 196 ], 197) 198 199cc_test( 200 name = "inlined_vector_exception_safety_test", 201 srcs = ["inlined_vector_exception_safety_test.cc"], 202 copts = ABSL_TEST_COPTS, 203 deps = [ 204 ":inlined_vector", 205 "//absl/base:config", 206 "//absl/base:exception_safety_testing", 207 "@com_google_googletest//:gtest", 208 "@com_google_googletest//:gtest_main", 209 ], 210) 211 212cc_library( 213 name = "test_instance_tracker", 214 testonly = True, 215 srcs = ["internal/test_instance_tracker.cc"], 216 hdrs = ["internal/test_instance_tracker.h"], 217 copts = ABSL_DEFAULT_COPTS, 218 linkopts = ABSL_DEFAULT_LINKOPTS, 219 visibility = [ 220 "//absl:__subpackages__", 221 ], 222 deps = ["//absl/types:compare"], 223) 224 225cc_test( 226 name = "test_instance_tracker_test", 227 srcs = ["internal/test_instance_tracker_test.cc"], 228 copts = ABSL_TEST_COPTS, 229 linkopts = ABSL_DEFAULT_LINKOPTS, 230 deps = [ 231 ":test_instance_tracker", 232 "@com_google_googletest//:gtest", 233 "@com_google_googletest//:gtest_main", 234 ], 235) 236 237NOTEST_TAGS_MOBILE = [ 238 "no_test_android_arm", 239 "no_test_android_arm64", 240 "no_test_android_x86", 241 "no_test_ios_x86_64", 242] 243 244cc_library( 245 name = "flat_hash_map", 246 hdrs = ["flat_hash_map.h"], 247 copts = ABSL_DEFAULT_COPTS, 248 linkopts = ABSL_DEFAULT_LINKOPTS, 249 deps = [ 250 ":container_memory", 251 ":hash_container_defaults", 252 ":raw_hash_map", 253 "//absl/algorithm:container", 254 "//absl/base:core_headers", 255 "//absl/meta:type_traits", 256 ], 257) 258 259cc_test( 260 name = "flat_hash_map_test", 261 srcs = ["flat_hash_map_test.cc"], 262 copts = ABSL_TEST_COPTS, 263 linkopts = ABSL_DEFAULT_LINKOPTS, 264 tags = ["no_test_loonix"], 265 deps = [ 266 ":flat_hash_map", 267 ":hash_generator_testing", 268 ":hash_policy_testing", 269 ":test_allocator", 270 ":unordered_map_constructor_test", 271 ":unordered_map_lookup_test", 272 ":unordered_map_members_test", 273 ":unordered_map_modifiers_test", 274 "//absl/base:config", 275 "//absl/log:check", 276 "//absl/meta:type_traits", 277 "//absl/types:any", 278 "@com_google_googletest//:gtest", 279 "@com_google_googletest//:gtest_main", 280 ], 281) 282 283cc_library( 284 name = "flat_hash_set", 285 hdrs = ["flat_hash_set.h"], 286 copts = ABSL_DEFAULT_COPTS, 287 linkopts = ABSL_DEFAULT_LINKOPTS, 288 deps = [ 289 ":container_memory", 290 ":hash_container_defaults", 291 ":raw_hash_set", 292 "//absl/algorithm:container", 293 "//absl/base:core_headers", 294 "//absl/memory", 295 "//absl/meta:type_traits", 296 ], 297) 298 299cc_test( 300 name = "flat_hash_set_test", 301 srcs = ["flat_hash_set_test.cc"], 302 copts = ABSL_TEST_COPTS + ["-DUNORDERED_SET_CXX17"], 303 linkopts = ABSL_DEFAULT_LINKOPTS, 304 tags = ["no_test_loonix"], 305 deps = [ 306 ":container_memory", 307 ":flat_hash_set", 308 ":hash_container_defaults", 309 ":hash_generator_testing", 310 ":test_allocator", 311 ":unordered_set_constructor_test", 312 ":unordered_set_lookup_test", 313 ":unordered_set_members_test", 314 ":unordered_set_modifiers_test", 315 "//absl/base:config", 316 "//absl/hash", 317 "//absl/log:check", 318 "//absl/memory", 319 "//absl/strings", 320 "@com_google_googletest//:gtest", 321 "@com_google_googletest//:gtest_main", 322 ], 323) 324 325cc_library( 326 name = "node_hash_map", 327 hdrs = ["node_hash_map.h"], 328 copts = ABSL_DEFAULT_COPTS, 329 linkopts = ABSL_DEFAULT_LINKOPTS, 330 deps = [ 331 ":container_memory", 332 ":hash_container_defaults", 333 ":node_slot_policy", 334 ":raw_hash_map", 335 "//absl/algorithm:container", 336 "//absl/base:core_headers", 337 "//absl/memory", 338 "//absl/meta:type_traits", 339 ], 340) 341 342cc_test( 343 name = "node_hash_map_test", 344 srcs = ["node_hash_map_test.cc"], 345 copts = ABSL_TEST_COPTS, 346 linkopts = ABSL_DEFAULT_LINKOPTS, 347 tags = ["no_test_loonix"], 348 deps = [ 349 ":hash_policy_testing", 350 ":node_hash_map", 351 ":tracked", 352 ":unordered_map_constructor_test", 353 ":unordered_map_lookup_test", 354 ":unordered_map_members_test", 355 ":unordered_map_modifiers_test", 356 "//absl/base:config", 357 "@com_google_googletest//:gtest", 358 "@com_google_googletest//:gtest_main", 359 ], 360) 361 362cc_library( 363 name = "node_hash_set", 364 hdrs = ["node_hash_set.h"], 365 copts = ABSL_DEFAULT_COPTS, 366 linkopts = ABSL_DEFAULT_LINKOPTS, 367 deps = [ 368 ":container_memory", 369 ":hash_container_defaults", 370 ":node_slot_policy", 371 ":raw_hash_set", 372 "//absl/algorithm:container", 373 "//absl/base:core_headers", 374 "//absl/memory", 375 "//absl/meta:type_traits", 376 ], 377) 378 379cc_test( 380 name = "node_hash_set_test", 381 srcs = ["node_hash_set_test.cc"], 382 copts = ABSL_TEST_COPTS + ["-DUNORDERED_SET_CXX17"], 383 linkopts = ABSL_DEFAULT_LINKOPTS, 384 tags = ["no_test_loonix"], 385 deps = [ 386 ":hash_generator_testing", 387 ":hash_policy_testing", 388 ":node_hash_set", 389 ":unordered_set_constructor_test", 390 ":unordered_set_lookup_test", 391 ":unordered_set_members_test", 392 ":unordered_set_modifiers_test", 393 "//absl/base:config", 394 "//absl/memory", 395 "@com_google_googletest//:gtest", 396 "@com_google_googletest//:gtest_main", 397 ], 398) 399 400cc_library( 401 name = "container_memory", 402 hdrs = ["internal/container_memory.h"], 403 copts = ABSL_DEFAULT_COPTS, 404 linkopts = ABSL_DEFAULT_LINKOPTS, 405 deps = [ 406 "//absl/base:config", 407 "//absl/memory", 408 "//absl/meta:type_traits", 409 "//absl/utility", 410 ], 411) 412 413cc_test( 414 name = "container_memory_test", 415 srcs = ["internal/container_memory_test.cc"], 416 copts = ABSL_TEST_COPTS, 417 linkopts = ABSL_DEFAULT_LINKOPTS, 418 tags = ["no_test_loonix"], 419 deps = [ 420 ":container_memory", 421 ":test_instance_tracker", 422 "//absl/base:no_destructor", 423 "//absl/meta:type_traits", 424 "//absl/strings", 425 "@com_google_googletest//:gtest", 426 "@com_google_googletest//:gtest_main", 427 ], 428) 429 430cc_library( 431 name = "hash_function_defaults", 432 hdrs = ["internal/hash_function_defaults.h"], 433 copts = ABSL_DEFAULT_COPTS, 434 linkopts = ABSL_DEFAULT_LINKOPTS, 435 visibility = [ 436 "//visibility:private", 437 ], 438 deps = [ 439 ":common", 440 "//absl/base:config", 441 "//absl/hash", 442 "//absl/meta:type_traits", 443 "//absl/strings", 444 "//absl/strings:cord", 445 ], 446) 447 448cc_library( 449 name = "hash_container_defaults", 450 hdrs = ["hash_container_defaults.h"], 451 copts = ABSL_DEFAULT_COPTS, 452 linkopts = ABSL_DEFAULT_LINKOPTS, 453 deps = [ 454 ":hash_function_defaults", 455 "//absl/base:config", 456 ], 457) 458 459cc_test( 460 name = "hash_function_defaults_test", 461 srcs = ["internal/hash_function_defaults_test.cc"], 462 copts = ABSL_TEST_COPTS, 463 linkopts = ABSL_DEFAULT_LINKOPTS, 464 tags = NOTEST_TAGS_MOBILE + ["no_test_loonix"], 465 deps = [ 466 ":flat_hash_map", 467 ":flat_hash_set", 468 ":hash_function_defaults", 469 "//absl/hash", 470 "//absl/random", 471 "//absl/strings", 472 "//absl/strings:cord", 473 "//absl/strings:cord_test_helpers", 474 "@com_google_googletest//:gtest", 475 "@com_google_googletest//:gtest_main", 476 ], 477) 478 479cc_library( 480 name = "hash_generator_testing", 481 testonly = True, 482 srcs = ["internal/hash_generator_testing.cc"], 483 hdrs = ["internal/hash_generator_testing.h"], 484 copts = ABSL_TEST_COPTS, 485 linkopts = ABSL_DEFAULT_LINKOPTS, 486 deps = [ 487 ":hash_policy_testing", 488 "//absl/base:no_destructor", 489 "//absl/memory", 490 "//absl/meta:type_traits", 491 "//absl/strings", 492 ], 493) 494 495cc_library( 496 name = "hash_policy_testing", 497 testonly = True, 498 hdrs = ["internal/hash_policy_testing.h"], 499 copts = ABSL_TEST_COPTS, 500 linkopts = ABSL_DEFAULT_LINKOPTS, 501 deps = [ 502 "//absl/hash", 503 "//absl/strings", 504 ], 505) 506 507cc_test( 508 name = "hash_policy_testing_test", 509 srcs = ["internal/hash_policy_testing_test.cc"], 510 copts = ABSL_TEST_COPTS, 511 linkopts = ABSL_DEFAULT_LINKOPTS, 512 deps = [ 513 ":hash_policy_testing", 514 "@com_google_googletest//:gtest", 515 "@com_google_googletest//:gtest_main", 516 ], 517) 518 519cc_library( 520 name = "hash_policy_traits", 521 hdrs = ["internal/hash_policy_traits.h"], 522 copts = ABSL_DEFAULT_COPTS, 523 linkopts = ABSL_DEFAULT_LINKOPTS, 524 deps = [ 525 ":common_policy_traits", 526 "//absl/meta:type_traits", 527 ], 528) 529 530cc_test( 531 name = "hash_policy_traits_test", 532 srcs = ["internal/hash_policy_traits_test.cc"], 533 copts = ABSL_TEST_COPTS, 534 linkopts = ABSL_DEFAULT_LINKOPTS, 535 deps = [ 536 ":container_memory", 537 ":hash_policy_traits", 538 "@com_google_googletest//:gtest", 539 "@com_google_googletest//:gtest_main", 540 ], 541) 542 543cc_library( 544 name = "common_policy_traits", 545 hdrs = ["internal/common_policy_traits.h"], 546 copts = ABSL_DEFAULT_COPTS, 547 linkopts = ABSL_DEFAULT_LINKOPTS, 548 visibility = ["//visibility:private"], 549 deps = ["//absl/meta:type_traits"], 550) 551 552cc_test( 553 name = "common_policy_traits_test", 554 srcs = ["internal/common_policy_traits_test.cc"], 555 copts = ABSL_TEST_COPTS, 556 linkopts = ABSL_DEFAULT_LINKOPTS, 557 deps = [ 558 ":common_policy_traits", 559 "//absl/base:config", 560 "@com_google_googletest//:gtest", 561 "@com_google_googletest//:gtest_main", 562 ], 563) 564 565cc_library( 566 name = "hashtable_debug", 567 hdrs = ["internal/hashtable_debug.h"], 568 copts = ABSL_DEFAULT_COPTS, 569 linkopts = ABSL_DEFAULT_LINKOPTS, 570 deps = [ 571 ":hashtable_debug_hooks", 572 ], 573) 574 575cc_library( 576 name = "hashtable_debug_hooks", 577 hdrs = ["internal/hashtable_debug_hooks.h"], 578 copts = ABSL_DEFAULT_COPTS, 579 linkopts = ABSL_DEFAULT_LINKOPTS, 580 deps = [ 581 "//absl/base:config", 582 ], 583) 584 585cc_library( 586 name = "hashtablez_sampler", 587 srcs = [ 588 "internal/hashtablez_sampler.cc", 589 "internal/hashtablez_sampler_force_weak_definition.cc", 590 ], 591 hdrs = ["internal/hashtablez_sampler.h"], 592 copts = ABSL_DEFAULT_COPTS, 593 linkopts = ABSL_DEFAULT_LINKOPTS, 594 deps = [ 595 "//absl/base", 596 "//absl/base:config", 597 "//absl/base:core_headers", 598 "//absl/base:no_destructor", 599 "//absl/base:raw_logging_internal", 600 "//absl/debugging:stacktrace", 601 "//absl/memory", 602 "//absl/profiling:exponential_biased", 603 "//absl/profiling:sample_recorder", 604 "//absl/synchronization", 605 "//absl/time", 606 "//absl/utility", 607 ], 608) 609 610cc_test( 611 name = "hashtablez_sampler_test", 612 srcs = ["internal/hashtablez_sampler_test.cc"], 613 linkopts = ABSL_DEFAULT_LINKOPTS, 614 tags = [ 615 "no_test_wasm", 616 ], 617 deps = [ 618 ":hashtablez_sampler", 619 "//absl/base:config", 620 "//absl/base:core_headers", 621 "//absl/profiling:sample_recorder", 622 "//absl/synchronization", 623 "//absl/synchronization:thread_pool", 624 "//absl/time", 625 "@com_google_googletest//:gtest", 626 "@com_google_googletest//:gtest_main", 627 ], 628) 629 630cc_library( 631 name = "node_slot_policy", 632 hdrs = ["internal/node_slot_policy.h"], 633 copts = ABSL_DEFAULT_COPTS, 634 linkopts = ABSL_DEFAULT_LINKOPTS, 635 deps = ["//absl/base:config"], 636) 637 638cc_test( 639 name = "node_slot_policy_test", 640 srcs = ["internal/node_slot_policy_test.cc"], 641 copts = ABSL_TEST_COPTS, 642 linkopts = ABSL_DEFAULT_LINKOPTS, 643 deps = [ 644 ":hash_policy_traits", 645 ":node_slot_policy", 646 "//absl/base:config", 647 "@com_google_googletest//:gtest", 648 "@com_google_googletest//:gtest_main", 649 ], 650) 651 652cc_library( 653 name = "raw_hash_map", 654 hdrs = ["internal/raw_hash_map.h"], 655 copts = ABSL_DEFAULT_COPTS, 656 linkopts = ABSL_DEFAULT_LINKOPTS, 657 deps = [ 658 ":container_memory", 659 ":raw_hash_set", 660 "//absl/base:config", 661 "//absl/base:core_headers", 662 "//absl/base:throw_delegate", 663 ], 664) 665 666cc_library( 667 name = "common", 668 hdrs = ["internal/common.h"], 669 copts = ABSL_DEFAULT_COPTS, 670 linkopts = ABSL_DEFAULT_LINKOPTS, 671 deps = [ 672 "//absl/meta:type_traits", 673 "//absl/types:optional", 674 ], 675) 676 677cc_library( 678 name = "raw_hash_set", 679 srcs = ["internal/raw_hash_set.cc"], 680 hdrs = ["internal/raw_hash_set.h"], 681 copts = ABSL_DEFAULT_COPTS, 682 linkopts = ABSL_DEFAULT_LINKOPTS, 683 deps = [ 684 ":common", 685 ":compressed_tuple", 686 ":container_memory", 687 ":hash_function_defaults", 688 ":hash_policy_traits", 689 ":hashtable_debug_hooks", 690 ":hashtablez_sampler", 691 "//absl/base:config", 692 "//absl/base:core_headers", 693 "//absl/base:dynamic_annotations", 694 "//absl/base:endian", 695 "//absl/base:prefetch", 696 "//absl/base:raw_logging_internal", 697 "//absl/hash", 698 "//absl/memory", 699 "//absl/meta:type_traits", 700 "//absl/numeric:bits", 701 "//absl/utility", 702 ], 703) 704 705cc_test( 706 name = "raw_hash_set_test", 707 srcs = ["internal/raw_hash_set_test.cc"], 708 copts = ABSL_TEST_COPTS, 709 linkstatic = 1, 710 tags = NOTEST_TAGS_MOBILE + [ 711 "no_test_loonix", 712 # TODO(b/237097643): investigate race and remove 713 "noarm_gemu", 714 ], 715 deps = [ 716 ":container_memory", 717 ":flat_hash_map", 718 ":flat_hash_set", 719 ":hash_function_defaults", 720 ":hash_policy_testing", 721 ":hashtable_debug", 722 ":hashtablez_sampler", 723 ":node_hash_set", 724 ":raw_hash_set", 725 ":test_allocator", 726 ":test_instance_tracker", 727 "//absl/base", 728 "//absl/base:config", 729 "//absl/base:core_headers", 730 "//absl/base:prefetch", 731 "//absl/functional:function_ref", 732 "//absl/hash", 733 "//absl/log", 734 "//absl/log:check", 735 "//absl/memory", 736 "//absl/meta:type_traits", 737 "//absl/strings", 738 "//absl/types:optional", 739 "@com_google_googletest//:gtest", 740 "@com_google_googletest//:gtest_main", 741 ], 742) 743 744cc_binary( 745 name = "raw_hash_set_benchmark", 746 testonly = True, 747 srcs = ["internal/raw_hash_set_benchmark.cc"], 748 copts = ABSL_TEST_COPTS, 749 linkopts = ABSL_DEFAULT_LINKOPTS, 750 tags = ["benchmark"], 751 visibility = ["//visibility:private"], 752 deps = [ 753 ":container_memory", 754 ":hash_function_defaults", 755 ":raw_hash_set", 756 "//absl/base:raw_logging_internal", 757 "//absl/random", 758 "//absl/strings:str_format", 759 "@com_github_google_benchmark//:benchmark_main", 760 ], 761) 762 763cc_binary( 764 name = "raw_hash_set_probe_benchmark", 765 testonly = True, 766 srcs = ["internal/raw_hash_set_probe_benchmark.cc"], 767 copts = ABSL_TEST_COPTS, 768 linkopts = select({ 769 "//conditions:default": [], 770 }) + ABSL_DEFAULT_LINKOPTS, 771 tags = ["benchmark"], 772 visibility = ["//visibility:private"], 773 deps = [ 774 ":flat_hash_map", 775 ":hash_function_defaults", 776 ":hashtable_debug", 777 ":raw_hash_set", 778 "//absl/base:no_destructor", 779 "//absl/random", 780 "//absl/random:distributions", 781 "//absl/strings", 782 "//absl/strings:str_format", 783 "//absl/types:optional", 784 ], 785) 786 787cc_test( 788 name = "raw_hash_set_allocator_test", 789 size = "small", 790 srcs = ["internal/raw_hash_set_allocator_test.cc"], 791 copts = ABSL_TEST_COPTS, 792 linkopts = ABSL_DEFAULT_LINKOPTS, 793 deps = [ 794 ":container_memory", 795 ":raw_hash_set", 796 ":tracked", 797 "//absl/base:config", 798 "@com_google_googletest//:gtest", 799 "@com_google_googletest//:gtest_main", 800 ], 801) 802 803cc_library( 804 name = "layout", 805 hdrs = ["internal/layout.h"], 806 copts = ABSL_DEFAULT_COPTS, 807 linkopts = ABSL_DEFAULT_LINKOPTS, 808 deps = [ 809 "//absl/base:config", 810 "//absl/base:core_headers", 811 "//absl/debugging:demangle_internal", 812 "//absl/meta:type_traits", 813 "//absl/strings", 814 "//absl/types:span", 815 "//absl/utility", 816 ], 817) 818 819cc_test( 820 name = "layout_test", 821 size = "small", 822 srcs = ["internal/layout_test.cc"], 823 copts = ABSL_TEST_COPTS, 824 linkopts = ABSL_DEFAULT_LINKOPTS, 825 tags = NOTEST_TAGS_MOBILE + ["no_test_loonix"], 826 visibility = ["//visibility:private"], 827 deps = [ 828 ":layout", 829 "//absl/base:config", 830 "//absl/log:check", 831 "//absl/types:span", 832 "//absl/utility", 833 "@com_google_googletest//:gtest", 834 "@com_google_googletest//:gtest_main", 835 ], 836) 837 838cc_binary( 839 name = "layout_benchmark", 840 testonly = True, 841 srcs = ["internal/layout_benchmark.cc"], 842 copts = ABSL_TEST_COPTS, 843 linkopts = ABSL_DEFAULT_LINKOPTS, 844 tags = ["benchmark"], 845 visibility = ["//visibility:private"], 846 deps = [ 847 ":layout", 848 "//absl/base:core_headers", 849 "//absl/base:raw_logging_internal", 850 "@com_github_google_benchmark//:benchmark_main", 851 ], 852) 853 854cc_library( 855 name = "tracked", 856 testonly = True, 857 hdrs = ["internal/tracked.h"], 858 copts = ABSL_TEST_COPTS, 859 linkopts = ABSL_DEFAULT_LINKOPTS, 860 deps = [ 861 "//absl/base:config", 862 ], 863) 864 865cc_library( 866 name = "unordered_map_constructor_test", 867 testonly = True, 868 hdrs = ["internal/unordered_map_constructor_test.h"], 869 copts = ABSL_TEST_COPTS, 870 linkopts = ABSL_DEFAULT_LINKOPTS, 871 deps = [ 872 ":hash_generator_testing", 873 ":hash_policy_testing", 874 "@com_google_googletest//:gtest", 875 ], 876) 877 878cc_library( 879 name = "unordered_map_lookup_test", 880 testonly = True, 881 hdrs = ["internal/unordered_map_lookup_test.h"], 882 copts = ABSL_TEST_COPTS, 883 linkopts = ABSL_DEFAULT_LINKOPTS, 884 deps = [ 885 ":hash_generator_testing", 886 ":hash_policy_testing", 887 "@com_google_googletest//:gtest", 888 ], 889) 890 891cc_library( 892 name = "unordered_map_modifiers_test", 893 testonly = True, 894 hdrs = ["internal/unordered_map_modifiers_test.h"], 895 copts = ABSL_TEST_COPTS, 896 linkopts = ABSL_DEFAULT_LINKOPTS, 897 deps = [ 898 ":hash_generator_testing", 899 ":hash_policy_testing", 900 "@com_google_googletest//:gtest", 901 ], 902) 903 904cc_library( 905 name = "unordered_set_constructor_test", 906 testonly = True, 907 hdrs = ["internal/unordered_set_constructor_test.h"], 908 copts = ABSL_TEST_COPTS, 909 linkopts = ABSL_DEFAULT_LINKOPTS, 910 deps = [ 911 ":hash_generator_testing", 912 ":hash_policy_testing", 913 "//absl/meta:type_traits", 914 "@com_google_googletest//:gtest", 915 ], 916) 917 918cc_library( 919 name = "unordered_set_members_test", 920 testonly = True, 921 hdrs = ["internal/unordered_set_members_test.h"], 922 copts = ABSL_TEST_COPTS, 923 linkopts = ABSL_DEFAULT_LINKOPTS, 924 deps = [ 925 "//absl/meta:type_traits", 926 "@com_google_googletest//:gtest", 927 ], 928) 929 930cc_library( 931 name = "unordered_map_members_test", 932 testonly = True, 933 hdrs = ["internal/unordered_map_members_test.h"], 934 copts = ABSL_TEST_COPTS, 935 linkopts = ABSL_DEFAULT_LINKOPTS, 936 deps = [ 937 "//absl/meta:type_traits", 938 "@com_google_googletest//:gtest", 939 ], 940) 941 942cc_library( 943 name = "unordered_set_lookup_test", 944 testonly = True, 945 hdrs = ["internal/unordered_set_lookup_test.h"], 946 copts = ABSL_TEST_COPTS, 947 linkopts = ABSL_DEFAULT_LINKOPTS, 948 deps = [ 949 ":hash_generator_testing", 950 ":hash_policy_testing", 951 "@com_google_googletest//:gtest", 952 ], 953) 954 955cc_library( 956 name = "unordered_set_modifiers_test", 957 testonly = True, 958 hdrs = ["internal/unordered_set_modifiers_test.h"], 959 copts = ABSL_TEST_COPTS, 960 linkopts = ABSL_DEFAULT_LINKOPTS, 961 deps = [ 962 ":hash_generator_testing", 963 ":hash_policy_testing", 964 "@com_google_googletest//:gtest", 965 ], 966) 967 968cc_test( 969 name = "unordered_set_test", 970 srcs = ["internal/unordered_set_test.cc"], 971 copts = ABSL_TEST_COPTS, 972 linkopts = ABSL_DEFAULT_LINKOPTS, 973 tags = ["no_test_loonix"], 974 deps = [ 975 ":unordered_set_constructor_test", 976 ":unordered_set_lookup_test", 977 ":unordered_set_members_test", 978 ":unordered_set_modifiers_test", 979 "@com_google_googletest//:gtest", 980 "@com_google_googletest//:gtest_main", 981 ], 982) 983 984cc_test( 985 name = "unordered_map_test", 986 srcs = ["internal/unordered_map_test.cc"], 987 copts = ABSL_TEST_COPTS, 988 linkopts = ABSL_DEFAULT_LINKOPTS, 989 tags = ["no_test_loonix"], 990 deps = [ 991 ":unordered_map_constructor_test", 992 ":unordered_map_lookup_test", 993 ":unordered_map_members_test", 994 ":unordered_map_modifiers_test", 995 "@com_google_googletest//:gtest", 996 "@com_google_googletest//:gtest_main", 997 ], 998) 999 1000cc_test( 1001 name = "sample_element_size_test", 1002 srcs = ["sample_element_size_test.cc"], 1003 copts = ABSL_TEST_COPTS, 1004 linkopts = ABSL_DEFAULT_LINKOPTS, 1005 tags = ["no_test_loonix"], 1006 visibility = ["//visibility:private"], 1007 deps = [ 1008 ":flat_hash_map", 1009 ":flat_hash_set", 1010 ":node_hash_map", 1011 ":node_hash_set", 1012 "@com_google_googletest//:gtest", 1013 "@com_google_googletest//:gtest_main", 1014 ], 1015) 1016 1017cc_library( 1018 name = "btree", 1019 srcs = [ 1020 "internal/btree.h", 1021 "internal/btree_container.h", 1022 ], 1023 hdrs = [ 1024 "btree_map.h", 1025 "btree_set.h", 1026 ], 1027 copts = ABSL_DEFAULT_COPTS, 1028 linkopts = ABSL_DEFAULT_LINKOPTS, 1029 visibility = ["//visibility:public"], 1030 deps = [ 1031 ":common", 1032 ":common_policy_traits", 1033 ":compressed_tuple", 1034 ":container_memory", 1035 ":layout", 1036 "//absl/base:config", 1037 "//absl/base:core_headers", 1038 "//absl/base:raw_logging_internal", 1039 "//absl/base:throw_delegate", 1040 "//absl/memory", 1041 "//absl/meta:type_traits", 1042 "//absl/strings", 1043 "//absl/strings:cord", 1044 "//absl/types:compare", 1045 ], 1046) 1047 1048cc_library( 1049 name = "btree_test_common", 1050 testonly = True, 1051 hdrs = ["btree_test.h"], 1052 copts = ABSL_TEST_COPTS, 1053 linkopts = ABSL_DEFAULT_LINKOPTS, 1054 visibility = ["//visibility:private"], 1055 deps = [ 1056 ":btree", 1057 ":flat_hash_set", 1058 "//absl/strings", 1059 "//absl/strings:cord", 1060 "//absl/time", 1061 ], 1062) 1063 1064cc_test( 1065 name = "btree_test", 1066 size = "large", 1067 srcs = [ 1068 "btree_test.cc", 1069 ], 1070 copts = ABSL_TEST_COPTS, 1071 linkopts = ABSL_DEFAULT_LINKOPTS, 1072 shard_count = 10, 1073 tags = [ 1074 "no_test:os:ios", 1075 "no_test_ios", 1076 "no_test_wasm", 1077 ], 1078 visibility = ["//visibility:private"], 1079 deps = [ 1080 ":btree", 1081 ":btree_test_common", 1082 ":test_allocator", 1083 ":test_instance_tracker", 1084 "//absl/algorithm:container", 1085 "//absl/base:core_headers", 1086 "//absl/base:raw_logging_internal", 1087 "//absl/flags:flag", 1088 "//absl/hash:hash_testing", 1089 "//absl/memory", 1090 "//absl/random", 1091 "//absl/strings", 1092 "//absl/types:compare", 1093 "//absl/types:optional", 1094 "@com_google_googletest//:gtest", 1095 "@com_google_googletest//:gtest_main", 1096 ], 1097) 1098 1099cc_binary( 1100 name = "btree_benchmark", 1101 testonly = True, 1102 srcs = [ 1103 "btree_benchmark.cc", 1104 ], 1105 copts = ABSL_TEST_COPTS, 1106 linkopts = ABSL_DEFAULT_LINKOPTS, 1107 tags = ["benchmark"], 1108 visibility = ["//visibility:private"], 1109 deps = [ 1110 ":btree", 1111 ":btree_test_common", 1112 ":flat_hash_map", 1113 ":flat_hash_set", 1114 ":hashtable_debug", 1115 "//absl/algorithm:container", 1116 "//absl/base:raw_logging_internal", 1117 "//absl/hash", 1118 "//absl/log", 1119 "//absl/memory", 1120 "//absl/random", 1121 "//absl/strings:cord", 1122 "//absl/strings:str_format", 1123 "//absl/time", 1124 "@com_github_google_benchmark//:benchmark_main", 1125 "@com_google_googletest//:gtest", 1126 ], 1127) 1128