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::check 225 absl::config 226 absl::core_headers 227 absl::counting_allocator 228 absl::exception_testing 229 absl::hash_testing 230 absl::inlined_vector 231 absl::memory 232 absl::strings 233 absl::test_instance_tracker 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::any 304 absl::check 305 absl::flat_hash_map 306 absl::hash_generator_testing 307 absl::unordered_map_constructor_test 308 absl::unordered_map_lookup_test 309 absl::unordered_map_members_test 310 absl::unordered_map_modifiers_test 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::check 341 absl::flat_hash_set 342 absl::hash_generator_testing 343 absl::memory 344 absl::strings 345 absl::unordered_set_constructor_test 346 absl::unordered_set_lookup_test 347 absl::unordered_set_members_test 348 absl::unordered_set_modifiers_test 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::strings 746 GTest::gmock_main 747) 748 749absl_cc_test( 750 NAME 751 raw_hash_set_allocator_test 752 SRCS 753 "internal/raw_hash_set_allocator_test.cc" 754 COPTS 755 ${ABSL_TEST_COPTS} 756 DEPS 757 absl::raw_hash_set 758 absl::tracked 759 absl::core_headers 760 GTest::gmock_main 761) 762 763# Internal-only target, do not depend on directly. 764absl_cc_library( 765 NAME 766 layout 767 HDRS 768 "internal/layout.h" 769 COPTS 770 ${ABSL_DEFAULT_COPTS} 771 DEPS 772 absl::config 773 absl::core_headers 774 absl::meta 775 absl::strings 776 absl::span 777 absl::utility 778 PUBLIC 779) 780 781absl_cc_test( 782 NAME 783 layout_test 784 SRCS 785 "internal/layout_test.cc" 786 COPTS 787 ${ABSL_TEST_COPTS} 788 DEPS 789 absl::layout 790 absl::check 791 absl::config 792 absl::core_headers 793 absl::span 794 GTest::gmock_main 795) 796 797# Internal-only target, do not depend on directly. 798absl_cc_library( 799 NAME 800 tracked 801 HDRS 802 "internal/tracked.h" 803 COPTS 804 ${ABSL_TEST_COPTS} 805 DEPS 806 absl::config 807 TESTONLY 808) 809 810# Internal-only target, do not depend on directly. 811absl_cc_library( 812 NAME 813 unordered_map_constructor_test 814 HDRS 815 "internal/unordered_map_constructor_test.h" 816 COPTS 817 ${ABSL_TEST_COPTS} 818 DEPS 819 absl::hash_generator_testing 820 absl::hash_policy_testing 821 GTest::gmock 822 TESTONLY 823) 824 825# Internal-only target, do not depend on directly. 826absl_cc_library( 827 NAME 828 unordered_map_lookup_test 829 HDRS 830 "internal/unordered_map_lookup_test.h" 831 COPTS 832 ${ABSL_TEST_COPTS} 833 DEPS 834 absl::hash_generator_testing 835 absl::hash_policy_testing 836 GTest::gmock 837 TESTONLY 838) 839 840# Internal-only target, do not depend on directly. 841absl_cc_library( 842 NAME 843 unordered_map_members_test 844 HDRS 845 "internal/unordered_map_members_test.h" 846 COPTS 847 ${ABSL_TEST_COPTS} 848 DEPS 849 absl::type_traits 850 GTest::gmock 851 TESTONLY 852) 853 854# Internal-only target, do not depend on directly. 855absl_cc_library( 856 NAME 857 unordered_map_modifiers_test 858 HDRS 859 "internal/unordered_map_modifiers_test.h" 860 COPTS 861 ${ABSL_TEST_COPTS} 862 DEPS 863 absl::hash_generator_testing 864 absl::hash_policy_testing 865 GTest::gmock 866 TESTONLY 867) 868 869# Internal-only target, do not depend on directly. 870absl_cc_library( 871 NAME 872 unordered_set_constructor_test 873 HDRS 874 "internal/unordered_set_constructor_test.h" 875 COPTS 876 ${ABSL_TEST_COPTS} 877 DEPS 878 absl::hash_generator_testing 879 absl::hash_policy_testing 880 GTest::gmock 881 TESTONLY 882) 883 884# Internal-only target, do not depend on directly. 885absl_cc_library( 886 NAME 887 unordered_set_lookup_test 888 HDRS 889 "internal/unordered_set_lookup_test.h" 890 COPTS 891 ${ABSL_TEST_COPTS} 892 DEPS 893 absl::hash_generator_testing 894 absl::hash_policy_testing 895 GTest::gmock 896 TESTONLY 897) 898 899# Internal-only target, do not depend on directly. 900absl_cc_library( 901 NAME 902 unordered_set_members_test 903 HDRS 904 "internal/unordered_set_members_test.h" 905 COPTS 906 ${ABSL_TEST_COPTS} 907 DEPS 908 absl::type_traits 909 GTest::gmock 910 TESTONLY 911) 912 913# Internal-only target, do not depend on directly. 914absl_cc_library( 915 NAME 916 unordered_set_modifiers_test 917 HDRS 918 "internal/unordered_set_modifiers_test.h" 919 COPTS 920 ${ABSL_TEST_COPTS} 921 DEPS 922 absl::hash_generator_testing 923 absl::hash_policy_testing 924 GTest::gmock 925 TESTONLY 926) 927 928absl_cc_test( 929 NAME 930 unordered_set_test 931 SRCS 932 "internal/unordered_set_test.cc" 933 COPTS 934 ${ABSL_TEST_COPTS} 935 DEPS 936 absl::unordered_set_constructor_test 937 absl::unordered_set_lookup_test 938 absl::unordered_set_members_test 939 absl::unordered_set_modifiers_test 940 GTest::gmock_main 941) 942 943absl_cc_test( 944 NAME 945 unordered_map_test 946 SRCS 947 "internal/unordered_map_test.cc" 948 COPTS 949 ${ABSL_TEST_COPTS} 950 DEPS 951 absl::unordered_map_constructor_test 952 absl::unordered_map_lookup_test 953 absl::unordered_map_members_test 954 absl::unordered_map_modifiers_test 955 GTest::gmock_main 956) 957 958absl_cc_test( 959 NAME 960 sample_element_size_test 961 SRCS 962 "sample_element_size_test.cc" 963 COPTS 964 ${ABSL_TEST_COPTS} 965 DEPS 966 absl::flat_hash_map 967 absl::flat_hash_set 968 absl::node_hash_map 969 absl::node_hash_set 970 GTest::gmock_main 971) 972