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 17absl_cc_library( 18 NAME 19 btree 20 HDRS 21 "btree_map.h" 22 "btree_set.h" 23 "internal/btree.h" 24 "internal/btree_container.h" 25 COPTS 26 ${ABSL_DEFAULT_COPTS} 27 LINKOPTS 28 ${ABSL_DEFAULT_LINKOPTS} 29 DEPS 30 absl::container_common 31 absl::compare 32 absl::compressed_tuple 33 absl::container_memory 34 absl::cord 35 absl::core_headers 36 absl::layout 37 absl::memory 38 absl::raw_logging_internal 39 absl::strings 40 absl::throw_delegate 41 absl::type_traits 42 absl::utility 43) 44 45# Internal-only target, do not depend on directly. 46absl_cc_library( 47 NAME 48 btree_test_common 49 hdrs 50 "btree_test.h" 51 COPTS 52 ${ABSL_TEST_COPTS} 53 LINKOPTS 54 ${ABSL_DEFAULT_LINKOPTS} 55 DEPS 56 absl::btree 57 absl::cord 58 absl::flat_hash_set 59 absl::strings 60 absl::time 61 TESTONLY 62) 63 64absl_cc_test( 65 NAME 66 btree_test 67 SRCS 68 "btree_test.cc" 69 COPTS 70 ${ABSL_TEST_COPTS} 71 LINKOPTS 72 ${ABSL_DEFAULT_LINKOPTS} 73 DEPS 74 absl::btree 75 absl::btree_test_common 76 absl::compare 77 absl::core_headers 78 absl::counting_allocator 79 absl::flags 80 absl::hash_testing 81 absl::raw_logging_internal 82 absl::strings 83 absl::test_instance_tracker 84 absl::type_traits 85 GTest::gmock_main 86) 87 88# Internal-only target, do not depend on directly. 89absl_cc_library( 90 NAME 91 compressed_tuple 92 HDRS 93 "internal/compressed_tuple.h" 94 COPTS 95 ${ABSL_DEFAULT_COPTS} 96 DEPS 97 absl::utility 98 PUBLIC 99) 100 101absl_cc_test( 102 NAME 103 compressed_tuple_test 104 SRCS 105 "internal/compressed_tuple_test.cc" 106 COPTS 107 ${ABSL_TEST_COPTS} 108 DEPS 109 absl::any 110 absl::compressed_tuple 111 absl::memory 112 absl::optional 113 absl::test_instance_tracker 114 absl::utility 115 GTest::gmock_main 116) 117 118absl_cc_library( 119 NAME 120 fixed_array 121 HDRS 122 "fixed_array.h" 123 COPTS 124 ${ABSL_DEFAULT_COPTS} 125 DEPS 126 absl::compressed_tuple 127 absl::algorithm 128 absl::config 129 absl::core_headers 130 absl::dynamic_annotations 131 absl::throw_delegate 132 absl::memory 133 PUBLIC 134) 135 136absl_cc_test( 137 NAME 138 fixed_array_test 139 SRCS 140 "fixed_array_test.cc" 141 COPTS 142 ${ABSL_TEST_COPTS} 143 DEPS 144 absl::fixed_array 145 absl::counting_allocator 146 absl::config 147 absl::exception_testing 148 absl::hash_testing 149 absl::memory 150 GTest::gmock_main 151) 152 153absl_cc_test( 154 NAME 155 fixed_array_exception_safety_test 156 SRCS 157 "fixed_array_exception_safety_test.cc" 158 COPTS 159 ${ABSL_TEST_COPTS} 160 DEPS 161 absl::fixed_array 162 absl::config 163 absl::exception_safety_testing 164 GTest::gmock_main 165) 166 167# Internal-only target, do not depend on directly. 168absl_cc_library( 169 NAME 170 inlined_vector_internal 171 HDRS 172 "internal/inlined_vector.h" 173 COPTS 174 ${ABSL_DEFAULT_COPTS} 175 DEPS 176 absl::compressed_tuple 177 absl::core_headers 178 absl::memory 179 absl::span 180 absl::type_traits 181 PUBLIC 182) 183 184absl_cc_library( 185 NAME 186 inlined_vector 187 HDRS 188 "inlined_vector.h" 189 COPTS 190 ${ABSL_DEFAULT_COPTS} 191 DEPS 192 absl::algorithm 193 absl::core_headers 194 absl::inlined_vector_internal 195 absl::throw_delegate 196 absl::memory 197 PUBLIC 198) 199 200# Internal-only target, do not depend on directly. 201absl_cc_library( 202 NAME 203 counting_allocator 204 HDRS 205 "internal/counting_allocator.h" 206 COPTS 207 ${ABSL_DEFAULT_COPTS} 208 DEPS 209 absl::config 210) 211 212absl_cc_test( 213 NAME 214 inlined_vector_test 215 SRCS 216 "inlined_vector_test.cc" 217 COPTS 218 ${ABSL_TEST_COPTS} 219 DEPS 220 absl::counting_allocator 221 absl::inlined_vector 222 absl::test_instance_tracker 223 absl::config 224 absl::core_headers 225 absl::exception_testing 226 absl::hash_testing 227 absl::memory 228 absl::raw_logging_internal 229 absl::strings 230 GTest::gmock_main 231) 232 233absl_cc_test( 234 NAME 235 inlined_vector_exception_safety_test 236 SRCS 237 "inlined_vector_exception_safety_test.cc" 238 COPTS 239 ${ABSL_TEST_COPTS} 240 DEPS 241 absl::inlined_vector 242 absl::config 243 absl::exception_safety_testing 244 GTest::gmock_main 245) 246 247# Internal-only target, do not depend on directly. 248absl_cc_library( 249 NAME 250 test_instance_tracker 251 HDRS 252 "internal/test_instance_tracker.h" 253 SRCS 254 "internal/test_instance_tracker.cc" 255 COPTS 256 ${ABSL_DEFAULT_COPTS} 257 DEPS 258 absl::compare 259 TESTONLY 260) 261 262absl_cc_test( 263 NAME 264 test_instance_tracker_test 265 SRCS 266 "internal/test_instance_tracker_test.cc" 267 COPTS 268 ${ABSL_TEST_COPTS} 269 DEPS 270 absl::test_instance_tracker 271 GTest::gmock_main 272) 273 274absl_cc_library( 275 NAME 276 flat_hash_map 277 HDRS 278 "flat_hash_map.h" 279 COPTS 280 ${ABSL_DEFAULT_COPTS} 281 DEPS 282 absl::container_memory 283 absl::core_headers 284 absl::hash_function_defaults 285 absl::raw_hash_map 286 absl::algorithm_container 287 absl::memory 288 PUBLIC 289) 290 291absl_cc_test( 292 NAME 293 flat_hash_map_test 294 SRCS 295 "flat_hash_map_test.cc" 296 COPTS 297 ${ABSL_TEST_COPTS} 298 DEPS 299 absl::flat_hash_map 300 absl::hash_generator_testing 301 absl::unordered_map_constructor_test 302 absl::unordered_map_lookup_test 303 absl::unordered_map_members_test 304 absl::unordered_map_modifiers_test 305 absl::any 306 absl::raw_logging_internal 307 GTest::gmock_main 308) 309 310absl_cc_library( 311 NAME 312 flat_hash_set 313 HDRS 314 "flat_hash_set.h" 315 COPTS 316 ${ABSL_DEFAULT_COPTS} 317 DEPS 318 absl::container_memory 319 absl::hash_function_defaults 320 absl::raw_hash_set 321 absl::algorithm_container 322 absl::core_headers 323 absl::memory 324 PUBLIC 325) 326 327absl_cc_test( 328 NAME 329 flat_hash_set_test 330 SRCS 331 "flat_hash_set_test.cc" 332 COPTS 333 ${ABSL_TEST_COPTS} 334 "-DUNORDERED_SET_CXX17" 335 DEPS 336 absl::flat_hash_set 337 absl::hash_generator_testing 338 absl::unordered_set_constructor_test 339 absl::unordered_set_lookup_test 340 absl::unordered_set_members_test 341 absl::unordered_set_modifiers_test 342 absl::memory 343 absl::raw_logging_internal 344 absl::strings 345 GTest::gmock_main 346) 347 348absl_cc_library( 349 NAME 350 node_hash_map 351 HDRS 352 "node_hash_map.h" 353 COPTS 354 ${ABSL_DEFAULT_COPTS} 355 DEPS 356 absl::container_memory 357 absl::core_headers 358 absl::hash_function_defaults 359 absl::node_slot_policy 360 absl::raw_hash_map 361 absl::algorithm_container 362 absl::memory 363 PUBLIC 364) 365 366absl_cc_test( 367 NAME 368 node_hash_map_test 369 SRCS 370 "node_hash_map_test.cc" 371 COPTS 372 ${ABSL_TEST_COPTS} 373 DEPS 374 absl::hash_generator_testing 375 absl::node_hash_map 376 absl::tracked 377 absl::unordered_map_constructor_test 378 absl::unordered_map_lookup_test 379 absl::unordered_map_members_test 380 absl::unordered_map_modifiers_test 381 GTest::gmock_main 382) 383 384absl_cc_library( 385 NAME 386 node_hash_set 387 HDRS 388 "node_hash_set.h" 389 COPTS 390 ${ABSL_DEFAULT_COPTS} 391 DEPS 392 absl::core_headers 393 absl::hash_function_defaults 394 absl::node_slot_policy 395 absl::raw_hash_set 396 absl::algorithm_container 397 absl::memory 398 PUBLIC 399) 400 401absl_cc_test( 402 NAME 403 node_hash_set_test 404 SRCS 405 "node_hash_set_test.cc" 406 COPTS 407 ${ABSL_TEST_COPTS} 408 "-DUNORDERED_SET_CXX17" 409 DEPS 410 absl::hash_generator_testing 411 absl::node_hash_set 412 absl::unordered_set_constructor_test 413 absl::unordered_set_lookup_test 414 absl::unordered_set_members_test 415 absl::unordered_set_modifiers_test 416 GTest::gmock_main 417) 418 419# Internal-only target, do not depend on directly. 420absl_cc_library( 421 NAME 422 container_memory 423 HDRS 424 "internal/container_memory.h" 425 COPTS 426 ${ABSL_DEFAULT_COPTS} 427 DEPS 428 absl::config 429 absl::memory 430 absl::type_traits 431 absl::utility 432 PUBLIC 433) 434 435absl_cc_test( 436 NAME 437 container_memory_test 438 SRCS 439 "internal/container_memory_test.cc" 440 COPTS 441 ${ABSL_TEST_COPTS} 442 DEPS 443 absl::container_memory 444 absl::strings 445 absl::test_instance_tracker 446 GTest::gmock_main 447) 448 449# Internal-only target, do not depend on directly. 450absl_cc_library( 451 NAME 452 hash_function_defaults 453 HDRS 454 "internal/hash_function_defaults.h" 455 COPTS 456 ${ABSL_DEFAULT_COPTS} 457 DEPS 458 absl::config 459 absl::cord 460 absl::hash 461 absl::strings 462 PUBLIC 463) 464 465absl_cc_test( 466 NAME 467 hash_function_defaults_test 468 SRCS 469 "internal/hash_function_defaults_test.cc" 470 COPTS 471 ${ABSL_TEST_COPTS} 472 DEPS 473 absl::cord 474 absl::cord_test_helpers 475 absl::hash_function_defaults 476 absl::hash 477 absl::random_random 478 absl::strings 479 GTest::gmock_main 480) 481 482# Internal-only target, do not depend on directly. 483absl_cc_library( 484 NAME 485 hash_generator_testing 486 HDRS 487 "internal/hash_generator_testing.h" 488 SRCS 489 "internal/hash_generator_testing.cc" 490 COPTS 491 ${ABSL_TEST_COPTS} 492 DEPS 493 absl::hash_policy_testing 494 absl::memory 495 absl::meta 496 absl::strings 497 TESTONLY 498) 499 500# Internal-only target, do not depend on directly. 501absl_cc_library( 502 NAME 503 hash_policy_testing 504 HDRS 505 "internal/hash_policy_testing.h" 506 COPTS 507 ${ABSL_TEST_COPTS} 508 DEPS 509 absl::hash 510 absl::strings 511 TESTONLY 512) 513 514absl_cc_test( 515 NAME 516 hash_policy_testing_test 517 SRCS 518 "internal/hash_policy_testing_test.cc" 519 COPTS 520 ${ABSL_TEST_COPTS} 521 DEPS 522 absl::hash_policy_testing 523 GTest::gmock_main 524) 525 526# Internal-only target, do not depend on directly. 527absl_cc_library( 528 NAME 529 hash_policy_traits 530 HDRS 531 "internal/hash_policy_traits.h" 532 COPTS 533 ${ABSL_DEFAULT_COPTS} 534 DEPS 535 absl::meta 536 PUBLIC 537) 538 539absl_cc_test( 540 NAME 541 hash_policy_traits_test 542 SRCS 543 "internal/hash_policy_traits_test.cc" 544 COPTS 545 ${ABSL_TEST_COPTS} 546 DEPS 547 absl::hash_policy_traits 548 GTest::gmock_main 549) 550 551# Internal-only target, do not depend on directly. 552absl_cc_library( 553 NAME 554 hashtablez_sampler 555 HDRS 556 "internal/hashtablez_sampler.h" 557 SRCS 558 "internal/hashtablez_sampler.cc" 559 "internal/hashtablez_sampler_force_weak_definition.cc" 560 COPTS 561 ${ABSL_DEFAULT_COPTS} 562 DEPS 563 absl::base 564 absl::config 565 absl::exponential_biased 566 absl::sample_recorder 567 absl::synchronization 568) 569 570absl_cc_test( 571 NAME 572 hashtablez_sampler_test 573 SRCS 574 "internal/hashtablez_sampler_test.cc" 575 COPTS 576 ${ABSL_TEST_COPTS} 577 DEPS 578 absl::config 579 absl::hashtablez_sampler 580 GTest::gmock_main 581) 582 583# Internal-only target, do not depend on directly. 584absl_cc_library( 585 NAME 586 hashtable_debug 587 HDRS 588 "internal/hashtable_debug.h" 589 COPTS 590 ${ABSL_DEFAULT_COPTS} 591 DEPS 592 absl::hashtable_debug_hooks 593) 594 595# Internal-only target, do not depend on directly. 596absl_cc_library( 597 NAME 598 hashtable_debug_hooks 599 HDRS 600 "internal/hashtable_debug_hooks.h" 601 COPTS 602 ${ABSL_DEFAULT_COPTS} 603 DEPS 604 absl::config 605 PUBLIC 606) 607 608# Internal-only target, do not depend on directly. 609absl_cc_library( 610 NAME 611 node_slot_policy 612 HDRS 613 "internal/node_slot_policy.h" 614 COPTS 615 ${ABSL_DEFAULT_COPTS} 616 DEPS 617 absl::config 618 PUBLIC 619) 620 621absl_cc_test( 622 NAME 623 node_slot_policy_test 624 SRCS 625 "internal/node_slot_policy_test.cc" 626 COPTS 627 ${ABSL_TEST_COPTS} 628 DEPS 629 absl::hash_policy_traits 630 absl::node_slot_policy 631 GTest::gmock_main 632) 633 634# Internal-only target, do not depend on directly. 635absl_cc_library( 636 NAME 637 raw_hash_map 638 HDRS 639 "internal/raw_hash_map.h" 640 COPTS 641 ${ABSL_DEFAULT_COPTS} 642 DEPS 643 absl::container_memory 644 absl::raw_hash_set 645 absl::throw_delegate 646 PUBLIC 647) 648 649# Internal-only target, do not depend on directly. 650absl_cc_library( 651 NAME 652 container_common 653 HDRS 654 "internal/common.h" 655 COPTS 656 ${ABSL_DEFAULT_COPTS} 657 DEPS 658 absl::type_traits 659) 660 661# Internal-only target, do not depend on directly. 662absl_cc_library( 663 NAME 664 raw_hash_set 665 HDRS 666 "internal/raw_hash_set.h" 667 SRCS 668 "internal/raw_hash_set.cc" 669 COPTS 670 ${ABSL_DEFAULT_COPTS} 671 DEPS 672 absl::bits 673 absl::compressed_tuple 674 absl::config 675 absl::container_common 676 absl::container_memory 677 absl::core_headers 678 absl::endian 679 absl::hash_policy_traits 680 absl::hashtable_debug_hooks 681 absl::memory 682 absl::meta 683 absl::optional 684 absl::prefetch 685 absl::utility 686 absl::hashtablez_sampler 687 PUBLIC 688) 689 690absl_cc_test( 691 NAME 692 raw_hash_set_test 693 SRCS 694 "internal/raw_hash_set_test.cc" 695 COPTS 696 ${ABSL_TEST_COPTS} 697 DEPS 698 absl::container_memory 699 absl::hash_function_defaults 700 absl::hash_policy_testing 701 absl::hashtable_debug 702 absl::raw_hash_set 703 absl::base 704 absl::config 705 absl::core_headers 706 absl::prefetch 707 absl::raw_logging_internal 708 absl::strings 709 GTest::gmock_main 710) 711 712absl_cc_test( 713 NAME 714 raw_hash_set_allocator_test 715 SRCS 716 "internal/raw_hash_set_allocator_test.cc" 717 COPTS 718 ${ABSL_TEST_COPTS} 719 DEPS 720 absl::raw_hash_set 721 absl::tracked 722 absl::core_headers 723 GTest::gmock_main 724) 725 726# Internal-only target, do not depend on directly. 727absl_cc_library( 728 NAME 729 layout 730 HDRS 731 "internal/layout.h" 732 COPTS 733 ${ABSL_DEFAULT_COPTS} 734 DEPS 735 absl::config 736 absl::core_headers 737 absl::meta 738 absl::strings 739 absl::span 740 absl::utility 741 PUBLIC 742) 743 744absl_cc_test( 745 NAME 746 layout_test 747 SRCS 748 "internal/layout_test.cc" 749 COPTS 750 ${ABSL_TEST_COPTS} 751 DEPS 752 absl::layout 753 absl::config 754 absl::core_headers 755 absl::raw_logging_internal 756 absl::span 757 GTest::gmock_main 758) 759 760# Internal-only target, do not depend on directly. 761absl_cc_library( 762 NAME 763 tracked 764 HDRS 765 "internal/tracked.h" 766 COPTS 767 ${ABSL_TEST_COPTS} 768 DEPS 769 absl::config 770 TESTONLY 771) 772 773# Internal-only target, do not depend on directly. 774absl_cc_library( 775 NAME 776 unordered_map_constructor_test 777 HDRS 778 "internal/unordered_map_constructor_test.h" 779 COPTS 780 ${ABSL_TEST_COPTS} 781 DEPS 782 absl::hash_generator_testing 783 absl::hash_policy_testing 784 GTest::gmock 785 TESTONLY 786) 787 788# Internal-only target, do not depend on directly. 789absl_cc_library( 790 NAME 791 unordered_map_lookup_test 792 HDRS 793 "internal/unordered_map_lookup_test.h" 794 COPTS 795 ${ABSL_TEST_COPTS} 796 DEPS 797 absl::hash_generator_testing 798 absl::hash_policy_testing 799 GTest::gmock 800 TESTONLY 801) 802 803# Internal-only target, do not depend on directly. 804absl_cc_library( 805 NAME 806 unordered_map_members_test 807 HDRS 808 "internal/unordered_map_members_test.h" 809 COPTS 810 ${ABSL_TEST_COPTS} 811 DEPS 812 absl::type_traits 813 GTest::gmock 814 TESTONLY 815) 816 817# Internal-only target, do not depend on directly. 818absl_cc_library( 819 NAME 820 unordered_map_modifiers_test 821 HDRS 822 "internal/unordered_map_modifiers_test.h" 823 COPTS 824 ${ABSL_TEST_COPTS} 825 DEPS 826 absl::hash_generator_testing 827 absl::hash_policy_testing 828 GTest::gmock 829 TESTONLY 830) 831 832# Internal-only target, do not depend on directly. 833absl_cc_library( 834 NAME 835 unordered_set_constructor_test 836 HDRS 837 "internal/unordered_set_constructor_test.h" 838 COPTS 839 ${ABSL_TEST_COPTS} 840 DEPS 841 absl::hash_generator_testing 842 absl::hash_policy_testing 843 GTest::gmock 844 TESTONLY 845) 846 847# Internal-only target, do not depend on directly. 848absl_cc_library( 849 NAME 850 unordered_set_lookup_test 851 HDRS 852 "internal/unordered_set_lookup_test.h" 853 COPTS 854 ${ABSL_TEST_COPTS} 855 DEPS 856 absl::hash_generator_testing 857 absl::hash_policy_testing 858 GTest::gmock 859 TESTONLY 860) 861 862# Internal-only target, do not depend on directly. 863absl_cc_library( 864 NAME 865 unordered_set_members_test 866 HDRS 867 "internal/unordered_set_members_test.h" 868 COPTS 869 ${ABSL_TEST_COPTS} 870 DEPS 871 absl::type_traits 872 GTest::gmock 873 TESTONLY 874) 875 876# Internal-only target, do not depend on directly. 877absl_cc_library( 878 NAME 879 unordered_set_modifiers_test 880 HDRS 881 "internal/unordered_set_modifiers_test.h" 882 COPTS 883 ${ABSL_TEST_COPTS} 884 DEPS 885 absl::hash_generator_testing 886 absl::hash_policy_testing 887 GTest::gmock 888 TESTONLY 889) 890 891absl_cc_test( 892 NAME 893 unordered_set_test 894 SRCS 895 "internal/unordered_set_test.cc" 896 COPTS 897 ${ABSL_TEST_COPTS} 898 DEPS 899 absl::unordered_set_constructor_test 900 absl::unordered_set_lookup_test 901 absl::unordered_set_members_test 902 absl::unordered_set_modifiers_test 903 GTest::gmock_main 904) 905 906absl_cc_test( 907 NAME 908 unordered_map_test 909 SRCS 910 "internal/unordered_map_test.cc" 911 COPTS 912 ${ABSL_TEST_COPTS} 913 DEPS 914 absl::unordered_map_constructor_test 915 absl::unordered_map_lookup_test 916 absl::unordered_map_members_test 917 absl::unordered_map_modifiers_test 918 GTest::gmock_main 919) 920 921absl_cc_test( 922 NAME 923 sample_element_size_test 924 SRCS 925 "sample_element_size_test.cc" 926 COPTS 927 ${ABSL_TEST_COPTS} 928 DEPS 929 absl::flat_hash_map 930 absl::flat_hash_set 931 absl::node_hash_map 932 absl::node_hash_set 933 GTest::gmock_main 934) 935