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