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