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::hashtablez_sampler 711 absl::memory 712 absl::meta 713 absl::optional 714 absl::prefetch 715 absl::raw_logging_internal 716 absl::utility 717 PUBLIC 718) 719 720absl_cc_test( 721 NAME 722 raw_hash_set_test 723 SRCS 724 "internal/raw_hash_set_test.cc" 725 COPTS 726 ${ABSL_TEST_COPTS} 727 DEPS 728 absl::base 729 absl::config 730 absl::container_memory 731 absl::core_headers 732 absl::flat_hash_map 733 absl::flat_hash_set 734 absl::hash_function_defaults 735 absl::hash_policy_testing 736 absl::hashtable_debug 737 absl::log 738 absl::prefetch 739 absl::raw_hash_set 740 absl::raw_logging_internal 741 absl::strings 742 GTest::gmock_main 743) 744 745absl_cc_test( 746 NAME 747 raw_hash_set_allocator_test 748 SRCS 749 "internal/raw_hash_set_allocator_test.cc" 750 COPTS 751 ${ABSL_TEST_COPTS} 752 DEPS 753 absl::raw_hash_set 754 absl::tracked 755 absl::core_headers 756 GTest::gmock_main 757) 758 759# Internal-only target, do not depend on directly. 760absl_cc_library( 761 NAME 762 layout 763 HDRS 764 "internal/layout.h" 765 COPTS 766 ${ABSL_DEFAULT_COPTS} 767 DEPS 768 absl::config 769 absl::core_headers 770 absl::meta 771 absl::strings 772 absl::span 773 absl::utility 774 PUBLIC 775) 776 777absl_cc_test( 778 NAME 779 layout_test 780 SRCS 781 "internal/layout_test.cc" 782 COPTS 783 ${ABSL_TEST_COPTS} 784 DEPS 785 absl::layout 786 absl::config 787 absl::core_headers 788 absl::raw_logging_internal 789 absl::span 790 GTest::gmock_main 791) 792 793# Internal-only target, do not depend on directly. 794absl_cc_library( 795 NAME 796 tracked 797 HDRS 798 "internal/tracked.h" 799 COPTS 800 ${ABSL_TEST_COPTS} 801 DEPS 802 absl::config 803 TESTONLY 804) 805 806# Internal-only target, do not depend on directly. 807absl_cc_library( 808 NAME 809 unordered_map_constructor_test 810 HDRS 811 "internal/unordered_map_constructor_test.h" 812 COPTS 813 ${ABSL_TEST_COPTS} 814 DEPS 815 absl::hash_generator_testing 816 absl::hash_policy_testing 817 GTest::gmock 818 TESTONLY 819) 820 821# Internal-only target, do not depend on directly. 822absl_cc_library( 823 NAME 824 unordered_map_lookup_test 825 HDRS 826 "internal/unordered_map_lookup_test.h" 827 COPTS 828 ${ABSL_TEST_COPTS} 829 DEPS 830 absl::hash_generator_testing 831 absl::hash_policy_testing 832 GTest::gmock 833 TESTONLY 834) 835 836# Internal-only target, do not depend on directly. 837absl_cc_library( 838 NAME 839 unordered_map_members_test 840 HDRS 841 "internal/unordered_map_members_test.h" 842 COPTS 843 ${ABSL_TEST_COPTS} 844 DEPS 845 absl::type_traits 846 GTest::gmock 847 TESTONLY 848) 849 850# Internal-only target, do not depend on directly. 851absl_cc_library( 852 NAME 853 unordered_map_modifiers_test 854 HDRS 855 "internal/unordered_map_modifiers_test.h" 856 COPTS 857 ${ABSL_TEST_COPTS} 858 DEPS 859 absl::hash_generator_testing 860 absl::hash_policy_testing 861 GTest::gmock 862 TESTONLY 863) 864 865# Internal-only target, do not depend on directly. 866absl_cc_library( 867 NAME 868 unordered_set_constructor_test 869 HDRS 870 "internal/unordered_set_constructor_test.h" 871 COPTS 872 ${ABSL_TEST_COPTS} 873 DEPS 874 absl::hash_generator_testing 875 absl::hash_policy_testing 876 GTest::gmock 877 TESTONLY 878) 879 880# Internal-only target, do not depend on directly. 881absl_cc_library( 882 NAME 883 unordered_set_lookup_test 884 HDRS 885 "internal/unordered_set_lookup_test.h" 886 COPTS 887 ${ABSL_TEST_COPTS} 888 DEPS 889 absl::hash_generator_testing 890 absl::hash_policy_testing 891 GTest::gmock 892 TESTONLY 893) 894 895# Internal-only target, do not depend on directly. 896absl_cc_library( 897 NAME 898 unordered_set_members_test 899 HDRS 900 "internal/unordered_set_members_test.h" 901 COPTS 902 ${ABSL_TEST_COPTS} 903 DEPS 904 absl::type_traits 905 GTest::gmock 906 TESTONLY 907) 908 909# Internal-only target, do not depend on directly. 910absl_cc_library( 911 NAME 912 unordered_set_modifiers_test 913 HDRS 914 "internal/unordered_set_modifiers_test.h" 915 COPTS 916 ${ABSL_TEST_COPTS} 917 DEPS 918 absl::hash_generator_testing 919 absl::hash_policy_testing 920 GTest::gmock 921 TESTONLY 922) 923 924absl_cc_test( 925 NAME 926 unordered_set_test 927 SRCS 928 "internal/unordered_set_test.cc" 929 COPTS 930 ${ABSL_TEST_COPTS} 931 DEPS 932 absl::unordered_set_constructor_test 933 absl::unordered_set_lookup_test 934 absl::unordered_set_members_test 935 absl::unordered_set_modifiers_test 936 GTest::gmock_main 937) 938 939absl_cc_test( 940 NAME 941 unordered_map_test 942 SRCS 943 "internal/unordered_map_test.cc" 944 COPTS 945 ${ABSL_TEST_COPTS} 946 DEPS 947 absl::unordered_map_constructor_test 948 absl::unordered_map_lookup_test 949 absl::unordered_map_members_test 950 absl::unordered_map_modifiers_test 951 GTest::gmock_main 952) 953 954absl_cc_test( 955 NAME 956 sample_element_size_test 957 SRCS 958 "sample_element_size_test.cc" 959 COPTS 960 ${ABSL_TEST_COPTS} 961 DEPS 962 absl::flat_hash_map 963 absl::flat_hash_set 964 absl::node_hash_map 965 absl::node_hash_set 966 GTest::gmock_main 967) 968