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