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