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