• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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