• 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
16load(
17    "//absl:copts/configure_copts.bzl",
18    "ABSL_DEFAULT_COPTS",
19    "ABSL_DEFAULT_LINKOPTS",
20    "ABSL_TEST_COPTS",
21)
22
23package(
24    default_visibility = ["//visibility:public"],
25    features = ["parse_headers"],
26)
27
28licenses(["notice"])
29
30cc_library(
31    name = "strings",
32    srcs = [
33        "ascii.cc",
34        "charconv.cc",
35        "escaping.cc",
36        "internal/charconv_bigint.cc",
37        "internal/charconv_bigint.h",
38        "internal/charconv_parse.cc",
39        "internal/charconv_parse.h",
40        "internal/memutil.cc",
41        "internal/memutil.h",
42        "internal/stl_type_traits.h",
43        "internal/str_join_internal.h",
44        "internal/str_split_internal.h",
45        "match.cc",
46        "numbers.cc",
47        "str_cat.cc",
48        "str_replace.cc",
49        "str_split.cc",
50        "string_view.cc",
51        "substitute.cc",
52    ],
53    hdrs = [
54        "ascii.h",
55        "charconv.h",
56        "escaping.h",
57        "internal/string_constant.h",
58        "match.h",
59        "numbers.h",
60        "str_cat.h",
61        "str_join.h",
62        "str_replace.h",
63        "str_split.h",
64        "string_view.h",
65        "strip.h",
66        "substitute.h",
67    ],
68    copts = ABSL_DEFAULT_COPTS,
69    linkopts = ABSL_DEFAULT_LINKOPTS,
70    deps = [
71        ":internal",
72        "//absl/base",
73        "//absl/base:config",
74        "//absl/base:core_headers",
75        "//absl/base:endian",
76        "//absl/base:raw_logging_internal",
77        "//absl/base:throw_delegate",
78        "//absl/memory",
79        "//absl/meta:type_traits",
80        "//absl/numeric:bits",
81        "//absl/numeric:int128",
82    ],
83)
84
85cc_library(
86    name = "internal",
87    srcs = [
88        "internal/escaping.cc",
89        "internal/ostringstream.cc",
90        "internal/utf8.cc",
91    ],
92    hdrs = [
93        "internal/char_map.h",
94        "internal/escaping.h",
95        "internal/ostringstream.h",
96        "internal/resize_uninitialized.h",
97        "internal/utf8.h",
98    ],
99    copts = ABSL_DEFAULT_COPTS,
100    linkopts = ABSL_DEFAULT_LINKOPTS,
101    deps = [
102        "//absl/base:config",
103        "//absl/base:core_headers",
104        "//absl/base:endian",
105        "//absl/base:raw_logging_internal",
106        "//absl/meta:type_traits",
107    ],
108)
109
110cc_test(
111    name = "match_test",
112    size = "small",
113    srcs = ["match_test.cc"],
114    copts = ABSL_TEST_COPTS,
115    visibility = ["//visibility:private"],
116    deps = [
117        ":strings",
118        "@com_google_googletest//:gtest_main",
119    ],
120)
121
122cc_test(
123    name = "escaping_test",
124    size = "small",
125    srcs = [
126        "escaping_test.cc",
127        "internal/escaping_test_common.h",
128    ],
129    copts = ABSL_TEST_COPTS,
130    visibility = ["//visibility:private"],
131    deps = [
132        ":cord",
133        ":strings",
134        "//absl/base:core_headers",
135        "//absl/container:fixed_array",
136        "@com_google_googletest//:gtest_main",
137    ],
138)
139
140cc_test(
141    name = "escaping_benchmark",
142    srcs = [
143        "escaping_benchmark.cc",
144        "internal/escaping_test_common.h",
145    ],
146    copts = ABSL_TEST_COPTS,
147    tags = ["benchmark"],
148    visibility = ["//visibility:private"],
149    deps = [
150        ":strings",
151        "//absl/base:raw_logging_internal",
152        "@com_github_google_benchmark//:benchmark_main",
153    ],
154)
155
156cc_test(
157    name = "ascii_test",
158    size = "small",
159    srcs = ["ascii_test.cc"],
160    copts = ABSL_TEST_COPTS,
161    visibility = ["//visibility:private"],
162    deps = [
163        ":strings",
164        "//absl/base:core_headers",
165        "@com_google_googletest//:gtest_main",
166    ],
167)
168
169cc_test(
170    name = "ascii_benchmark",
171    srcs = ["ascii_benchmark.cc"],
172    copts = ABSL_TEST_COPTS,
173    tags = ["benchmark"],
174    visibility = ["//visibility:private"],
175    deps = [
176        ":strings",
177        "@com_github_google_benchmark//:benchmark_main",
178    ],
179)
180
181cc_test(
182    name = "memutil_benchmark",
183    srcs = [
184        "internal/memutil.h",
185        "internal/memutil_benchmark.cc",
186    ],
187    copts = ABSL_TEST_COPTS,
188    tags = ["benchmark"],
189    visibility = ["//visibility:private"],
190    deps = [
191        ":strings",
192        "//absl/base:core_headers",
193        "@com_github_google_benchmark//:benchmark_main",
194    ],
195)
196
197cc_test(
198    name = "memutil_test",
199    size = "small",
200    srcs = [
201        "internal/memutil.h",
202        "internal/memutil_test.cc",
203    ],
204    copts = ABSL_TEST_COPTS,
205    visibility = ["//visibility:private"],
206    deps = [
207        ":strings",
208        "//absl/base:core_headers",
209        "@com_google_googletest//:gtest_main",
210    ],
211)
212
213cc_test(
214    name = "utf8_test",
215    size = "small",
216    srcs = [
217        "internal/utf8_test.cc",
218    ],
219    copts = ABSL_TEST_COPTS,
220    visibility = ["//visibility:private"],
221    deps = [
222        ":internal",
223        "//absl/base:core_headers",
224        "@com_google_googletest//:gtest_main",
225    ],
226)
227
228cc_test(
229    name = "string_constant_test",
230    size = "small",
231    srcs = ["internal/string_constant_test.cc"],
232    copts = ABSL_TEST_COPTS,
233    visibility = ["//visibility:private"],
234    deps = [
235        ":strings",
236        "//absl/meta:type_traits",
237        "@com_google_googletest//:gtest_main",
238    ],
239)
240
241cc_test(
242    name = "string_view_benchmark",
243    srcs = ["string_view_benchmark.cc"],
244    copts = ABSL_TEST_COPTS,
245    tags = ["benchmark"],
246    visibility = ["//visibility:private"],
247    deps = [
248        ":strings",
249        "//absl/base:core_headers",
250        "//absl/base:raw_logging_internal",
251        "@com_github_google_benchmark//:benchmark_main",
252    ],
253)
254
255cc_test(
256    name = "string_view_test",
257    size = "small",
258    srcs = ["string_view_test.cc"],
259    copts = ABSL_TEST_COPTS,
260    visibility = ["//visibility:private"],
261    deps = [
262        ":strings",
263        "//absl/base:config",
264        "//absl/base:core_headers",
265        "//absl/base:dynamic_annotations",
266        "@com_google_googletest//:gtest_main",
267    ],
268)
269
270cc_library(
271    name = "cord_internal",
272    srcs = [
273        "internal/cord_internal.cc",
274        "internal/cord_rep_btree.cc",
275        "internal/cord_rep_btree_navigator.cc",
276        "internal/cord_rep_btree_reader.cc",
277        "internal/cord_rep_consume.cc",
278        "internal/cord_rep_crc.cc",
279        "internal/cord_rep_ring.cc",
280    ],
281    hdrs = [
282        "internal/cord_data_edge.h",
283        "internal/cord_internal.h",
284        "internal/cord_rep_btree.h",
285        "internal/cord_rep_btree_navigator.h",
286        "internal/cord_rep_btree_reader.h",
287        "internal/cord_rep_consume.h",
288        "internal/cord_rep_crc.h",
289        "internal/cord_rep_flat.h",
290        "internal/cord_rep_ring.h",
291        "internal/cord_rep_ring_reader.h",
292    ],
293    copts = ABSL_DEFAULT_COPTS,
294    linkopts = ABSL_DEFAULT_LINKOPTS,
295    visibility = [
296        "//visibility:private",
297    ],
298    deps = [
299        ":strings",
300        "//absl/base:base_internal",
301        "//absl/base:config",
302        "//absl/base:core_headers",
303        "//absl/base:endian",
304        "//absl/base:raw_logging_internal",
305        "//absl/base:throw_delegate",
306        "//absl/container:compressed_tuple",
307        "//absl/container:inlined_vector",
308        "//absl/container:layout",
309        "//absl/functional:function_ref",
310        "//absl/meta:type_traits",
311        "//absl/types:span",
312    ],
313)
314
315cc_test(
316    name = "cord_data_edge_test",
317    size = "small",
318    srcs = ["internal/cord_data_edge_test.cc"],
319    copts = ABSL_TEST_COPTS,
320    visibility = ["//visibility:private"],
321    deps = [
322        ":cord_internal",
323        ":cord_rep_test_util",
324        ":strings",
325        "//absl/base:config",
326        "@com_google_googletest//:gtest_main",
327    ],
328)
329
330cc_test(
331    name = "cord_rep_btree_test",
332    size = "medium",
333    srcs = ["internal/cord_rep_btree_test.cc"],
334    copts = ABSL_TEST_COPTS,
335    visibility = ["//visibility:private"],
336    deps = [
337        ":cord_internal",
338        ":cord_rep_test_util",
339        ":strings",
340        "//absl/base:config",
341        "//absl/base:raw_logging_internal",
342        "//absl/cleanup",
343        "@com_google_googletest//:gtest_main",
344    ],
345)
346
347cc_test(
348    name = "cord_rep_btree_navigator_test",
349    size = "medium",
350    srcs = ["internal/cord_rep_btree_navigator_test.cc"],
351    copts = ABSL_TEST_COPTS,
352    visibility = ["//visibility:private"],
353    deps = [
354        ":cord_internal",
355        ":cord_rep_test_util",
356        ":strings",
357        "//absl/base:config",
358        "//absl/base:raw_logging_internal",
359        "@com_google_googletest//:gtest_main",
360    ],
361)
362
363cc_test(
364    name = "cord_rep_btree_reader_test",
365    size = "medium",
366    srcs = ["internal/cord_rep_btree_reader_test.cc"],
367    copts = ABSL_TEST_COPTS,
368    visibility = ["//visibility:private"],
369    deps = [
370        ":cord",
371        ":cord_internal",
372        ":cord_rep_test_util",
373        ":strings",
374        "//absl/base:config",
375        "//absl/base:raw_logging_internal",
376        "@com_google_googletest//:gtest_main",
377    ],
378)
379
380cc_test(
381    name = "cord_rep_crc_test",
382    size = "small",
383    srcs = ["internal/cord_rep_crc_test.cc"],
384    copts = ABSL_TEST_COPTS,
385    visibility = ["//visibility:private"],
386    deps = [
387        ":cord_internal",
388        ":cord_rep_test_util",
389        "//absl/base:config",
390        "@com_google_googletest//:gtest_main",
391    ],
392)
393
394cc_library(
395    name = "cordz_update_tracker",
396    hdrs = ["internal/cordz_update_tracker.h"],
397    copts = ABSL_DEFAULT_COPTS,
398    linkopts = ABSL_DEFAULT_LINKOPTS,
399    visibility = [
400        "//absl:__subpackages__",
401    ],
402    deps = ["//absl/base:config"],
403)
404
405cc_test(
406    name = "cordz_update_tracker_test",
407    srcs = ["internal/cordz_update_tracker_test.cc"],
408    deps = [
409        ":cordz_update_tracker",
410        "//absl/base:config",
411        "//absl/base:core_headers",
412        "//absl/synchronization",
413        "@com_google_googletest//:gtest_main",
414    ],
415)
416
417cc_library(
418    name = "cord",
419    srcs = [
420        "cord.cc",
421        "cord_analysis.cc",
422        "cord_analysis.h",
423        "cord_buffer.cc",
424    ],
425    hdrs = [
426        "cord.h",
427        "cord_buffer.h",
428    ],
429    copts = ABSL_DEFAULT_COPTS,
430    linkopts = ABSL_DEFAULT_LINKOPTS,
431    deps = [
432        ":cord_internal",
433        ":cordz_functions",
434        ":cordz_info",
435        ":cordz_statistics",
436        ":cordz_update_scope",
437        ":cordz_update_tracker",
438        ":internal",
439        ":str_format",
440        ":strings",
441        "//absl/base",
442        "//absl/base:config",
443        "//absl/base:core_headers",
444        "//absl/base:endian",
445        "//absl/base:raw_logging_internal",
446        "//absl/container:fixed_array",
447        "//absl/container:inlined_vector",
448        "//absl/functional:function_ref",
449        "//absl/meta:type_traits",
450        "//absl/numeric:bits",
451        "//absl/types:optional",
452        "//absl/types:span",
453    ],
454)
455
456cc_library(
457    name = "cordz_handle",
458    srcs = ["internal/cordz_handle.cc"],
459    hdrs = ["internal/cordz_handle.h"],
460    copts = ABSL_DEFAULT_COPTS,
461    linkopts = ABSL_DEFAULT_LINKOPTS,
462    visibility = [
463        "//absl:__subpackages__",
464    ],
465    deps = [
466        "//absl/base",
467        "//absl/base:config",
468        "//absl/base:raw_logging_internal",
469        "//absl/synchronization",
470    ],
471)
472
473cc_library(
474    name = "cordz_info",
475    srcs = ["internal/cordz_info.cc"],
476    hdrs = ["internal/cordz_info.h"],
477    copts = ABSL_DEFAULT_COPTS,
478    linkopts = ABSL_DEFAULT_LINKOPTS,
479    visibility = [
480        "//absl:__subpackages__",
481    ],
482    deps = [
483        ":cord_internal",
484        ":cordz_functions",
485        ":cordz_handle",
486        ":cordz_statistics",
487        ":cordz_update_tracker",
488        "//absl/base",
489        "//absl/base:config",
490        "//absl/base:core_headers",
491        "//absl/base:raw_logging_internal",
492        "//absl/container:inlined_vector",
493        "//absl/debugging:stacktrace",
494        "//absl/synchronization",
495        "//absl/types:span",
496    ],
497)
498
499cc_library(
500    name = "cordz_update_scope",
501    hdrs = ["internal/cordz_update_scope.h"],
502    copts = ABSL_DEFAULT_COPTS,
503    linkopts = ABSL_DEFAULT_LINKOPTS,
504    visibility = [
505        "//absl:__subpackages__",
506    ],
507    deps = [
508        ":cord_internal",
509        ":cordz_info",
510        ":cordz_update_tracker",
511        "//absl/base:config",
512        "//absl/base:core_headers",
513    ],
514)
515
516cc_test(
517    name = "cordz_update_scope_test",
518    srcs = ["internal/cordz_update_scope_test.cc"],
519    copts = ABSL_DEFAULT_COPTS,
520    deps = [
521        ":cord_internal",
522        ":cordz_info",
523        ":cordz_test_helpers",
524        ":cordz_update_scope",
525        ":cordz_update_tracker",
526        "//absl/base:config",
527        "@com_google_googletest//:gtest_main",
528    ],
529)
530
531cc_library(
532    name = "cordz_sample_token",
533    srcs = ["internal/cordz_sample_token.cc"],
534    hdrs = ["internal/cordz_sample_token.h"],
535    copts = ABSL_DEFAULT_COPTS,
536    linkopts = ABSL_DEFAULT_LINKOPTS,
537    visibility = [
538        "//absl:__subpackages__",
539    ],
540    deps = [
541        ":cordz_handle",
542        ":cordz_info",
543        "//absl/base:config",
544    ],
545)
546
547cc_library(
548    name = "cordz_functions",
549    srcs = ["internal/cordz_functions.cc"],
550    hdrs = ["internal/cordz_functions.h"],
551    copts = ABSL_DEFAULT_COPTS,
552    linkopts = ABSL_DEFAULT_LINKOPTS,
553    visibility = [
554        "//absl:__subpackages__",
555    ],
556    deps = [
557        "//absl/base:config",
558        "//absl/base:core_headers",
559        "//absl/base:raw_logging_internal",
560        "//absl/profiling:exponential_biased",
561    ],
562)
563
564cc_library(
565    name = "cordz_statistics",
566    hdrs = ["internal/cordz_statistics.h"],
567    copts = ABSL_DEFAULT_COPTS,
568    linkopts = ABSL_DEFAULT_LINKOPTS,
569    visibility = [
570        "//absl:__subpackages__",
571    ],
572    deps = [
573        ":cordz_update_tracker",
574        "//absl/base:config",
575    ],
576)
577
578cc_test(
579    name = "cordz_functions_test",
580    srcs = [
581        "internal/cordz_functions_test.cc",
582    ],
583    deps = [
584        ":cordz_functions",
585        ":cordz_test_helpers",
586        "//absl/base:config",
587        "@com_google_googletest//:gtest_main",
588    ],
589)
590
591cc_test(
592    name = "cordz_handle_test",
593    srcs = [
594        "internal/cordz_handle_test.cc",
595    ],
596    deps = [
597        ":cordz_handle",
598        "//absl/base:config",
599        "//absl/memory",
600        "//absl/random",
601        "//absl/random:distributions",
602        "//absl/synchronization",
603        "//absl/synchronization:thread_pool",
604        "//absl/time",
605        "@com_google_googletest//:gtest_main",
606    ],
607)
608
609cc_test(
610    name = "cordz_info_test",
611    srcs = [
612        "internal/cordz_info_test.cc",
613    ],
614    deps = [
615        ":cord_internal",
616        ":cordz_handle",
617        ":cordz_info",
618        ":cordz_statistics",
619        ":cordz_test_helpers",
620        ":cordz_update_tracker",
621        ":strings",
622        "//absl/base:config",
623        "//absl/debugging:stacktrace",
624        "//absl/debugging:symbolize",
625        "//absl/types:span",
626        "@com_google_googletest//:gtest_main",
627    ],
628)
629
630cc_test(
631    name = "cordz_info_statistics_test",
632    srcs = [
633        "internal/cordz_info_statistics_test.cc",
634    ],
635    deps = [
636        ":cord",
637        ":cord_internal",
638        ":cordz_info",
639        ":cordz_sample_token",
640        ":cordz_statistics",
641        ":cordz_update_scope",
642        ":cordz_update_tracker",
643        "//absl/base:config",
644        "//absl/synchronization",
645        "//absl/synchronization:thread_pool",
646        "@com_google_googletest//:gtest_main",
647    ],
648)
649
650cc_test(
651    name = "cordz_sample_token_test",
652    srcs = [
653        "internal/cordz_sample_token_test.cc",
654    ],
655    deps = [
656        ":cord_internal",
657        ":cordz_handle",
658        ":cordz_info",
659        ":cordz_sample_token",
660        ":cordz_test_helpers",
661        "//absl/base:config",
662        "//absl/memory",
663        "//absl/random",
664        "//absl/synchronization",
665        "//absl/synchronization:thread_pool",
666        "//absl/time",
667        "@com_google_googletest//:gtest_main",
668    ],
669)
670
671cc_library(
672    name = "cord_test_helpers",
673    testonly = 1,
674    hdrs = [
675        "cord_test_helpers.h",
676    ],
677    copts = ABSL_DEFAULT_COPTS,
678    linkopts = ABSL_DEFAULT_LINKOPTS,
679    deps = [
680        ":cord",
681        ":cord_internal",
682        ":strings",
683        "//absl/base:config",
684    ],
685)
686
687cc_library(
688    name = "cord_rep_test_util",
689    testonly = 1,
690    hdrs = ["internal/cord_rep_test_util.h"],
691    copts = ABSL_DEFAULT_COPTS,
692    linkopts = ABSL_DEFAULT_LINKOPTS,
693    deps = [
694        ":cord_internal",
695        ":strings",
696        "//absl/base:config",
697        "//absl/base:raw_logging_internal",
698    ],
699)
700
701cc_library(
702    name = "cordz_test_helpers",
703    testonly = 1,
704    hdrs = ["cordz_test_helpers.h"],
705    copts = ABSL_DEFAULT_COPTS,
706    linkopts = ABSL_DEFAULT_LINKOPTS,
707    deps = [
708        ":cord",
709        ":cord_internal",
710        ":cordz_info",
711        ":cordz_sample_token",
712        ":cordz_statistics",
713        ":cordz_update_tracker",
714        ":strings",
715        "//absl/base:config",
716        "//absl/base:core_headers",
717        "@com_google_googletest//:gtest",
718    ],
719)
720
721cc_test(
722    name = "cord_buffer_test",
723    size = "small",
724    srcs = ["cord_buffer_test.cc"],
725    copts = ABSL_TEST_COPTS,
726    visibility = ["//visibility:private"],
727    deps = [
728        ":cord",
729        ":cord_internal",
730        ":cord_rep_test_util",
731        "//absl/base:config",
732        "//absl/types:span",
733        "@com_google_googletest//:gtest_main",
734    ],
735)
736
737cc_test(
738    name = "cord_test",
739    size = "medium",
740    srcs = ["cord_test.cc"],
741    copts = ABSL_TEST_COPTS,
742    visibility = ["//visibility:private"],
743    deps = [
744        ":cord",
745        ":cord_test_helpers",
746        ":cordz_functions",
747        ":cordz_test_helpers",
748        ":str_format",
749        ":strings",
750        "//absl/base",
751        "//absl/base:config",
752        "//absl/base:core_headers",
753        "//absl/base:endian",
754        "//absl/base:raw_logging_internal",
755        "//absl/container:fixed_array",
756        "//absl/hash",
757        "//absl/random",
758        "@com_google_googletest//:gtest_main",
759    ],
760)
761
762cc_test(
763    name = "cordz_test",
764    size = "medium",
765    srcs = ["cordz_test.cc"],
766    copts = ABSL_TEST_COPTS,
767    tags = [
768        "benchmark",
769        "no_test_android_arm",
770        "no_test_android_arm64",
771        "no_test_android_x86",
772        "no_test_ios_x86_64",
773        "no_test_loonix",
774        "no_test_msvc_x64",
775    ],
776    visibility = ["//visibility:private"],
777    deps = [
778        ":cord",
779        ":cord_test_helpers",
780        ":cordz_functions",
781        ":cordz_info",
782        ":cordz_sample_token",
783        ":cordz_statistics",
784        ":cordz_test_helpers",
785        ":cordz_update_tracker",
786        ":strings",
787        "//absl/base:config",
788        "//absl/base:core_headers",
789        "//absl/base:raw_logging_internal",
790        "@com_google_googletest//:gtest_main",
791    ],
792)
793
794cc_test(
795    name = "cord_ring_test",
796    size = "medium",
797    srcs = ["cord_ring_test.cc"],
798    copts = ABSL_TEST_COPTS,
799    visibility = ["//visibility:private"],
800    deps = [
801        ":cord_internal",
802        ":strings",
803        "//absl/base:config",
804        "//absl/base:core_headers",
805        "//absl/base:raw_logging_internal",
806        "//absl/debugging:leak_check",
807        "@com_google_googletest//:gtest_main",
808    ],
809)
810
811cc_test(
812    name = "cord_ring_reader_test",
813    size = "medium",
814    srcs = ["cord_ring_reader_test.cc"],
815    copts = ABSL_TEST_COPTS,
816    visibility = ["//visibility:private"],
817    deps = [
818        ":cord_internal",
819        ":strings",
820        "//absl/base:core_headers",
821        "//absl/debugging:leak_check",
822        "@com_google_googletest//:gtest_main",
823    ],
824)
825
826cc_test(
827    name = "substitute_test",
828    size = "small",
829    srcs = ["substitute_test.cc"],
830    copts = ABSL_TEST_COPTS,
831    visibility = ["//visibility:private"],
832    deps = [
833        ":strings",
834        "//absl/base:core_headers",
835        "@com_google_googletest//:gtest_main",
836    ],
837)
838
839cc_test(
840    name = "str_replace_benchmark",
841    srcs = ["str_replace_benchmark.cc"],
842    copts = ABSL_TEST_COPTS,
843    tags = ["benchmark"],
844    visibility = ["//visibility:private"],
845    deps = [
846        ":strings",
847        "//absl/base:raw_logging_internal",
848        "@com_github_google_benchmark//:benchmark_main",
849    ],
850)
851
852cc_test(
853    name = "str_replace_test",
854    size = "small",
855    srcs = ["str_replace_test.cc"],
856    copts = ABSL_TEST_COPTS,
857    visibility = ["//visibility:private"],
858    deps = [
859        ":strings",
860        "@com_google_googletest//:gtest_main",
861    ],
862)
863
864cc_test(
865    name = "str_split_test",
866    srcs = ["str_split_test.cc"],
867    copts = ABSL_TEST_COPTS,
868    visibility = ["//visibility:private"],
869    deps = [
870        ":strings",
871        "//absl/base:core_headers",
872        "//absl/base:dynamic_annotations",
873        "//absl/container:btree",
874        "//absl/container:flat_hash_map",
875        "//absl/container:node_hash_map",
876        "@com_google_googletest//:gtest_main",
877    ],
878)
879
880cc_test(
881    name = "str_split_benchmark",
882    srcs = ["str_split_benchmark.cc"],
883    copts = ABSL_TEST_COPTS,
884    tags = ["benchmark"],
885    visibility = ["//visibility:private"],
886    deps = [
887        ":strings",
888        "//absl/base:raw_logging_internal",
889        "@com_github_google_benchmark//:benchmark_main",
890    ],
891)
892
893cc_test(
894    name = "ostringstream_test",
895    size = "small",
896    srcs = ["internal/ostringstream_test.cc"],
897    copts = ABSL_TEST_COPTS,
898    visibility = ["//visibility:private"],
899    deps = [
900        ":internal",
901        "@com_google_googletest//:gtest_main",
902    ],
903)
904
905cc_test(
906    name = "ostringstream_benchmark",
907    srcs = ["internal/ostringstream_benchmark.cc"],
908    copts = ABSL_TEST_COPTS,
909    tags = ["benchmark"],
910    visibility = ["//visibility:private"],
911    deps = [
912        ":internal",
913        "@com_github_google_benchmark//:benchmark_main",
914    ],
915)
916
917cc_test(
918    name = "resize_uninitialized_test",
919    size = "small",
920    srcs = [
921        "internal/resize_uninitialized.h",
922        "internal/resize_uninitialized_test.cc",
923    ],
924    copts = ABSL_TEST_COPTS,
925    visibility = ["//visibility:private"],
926    deps = [
927        "//absl/base:core_headers",
928        "//absl/meta:type_traits",
929        "@com_google_googletest//:gtest_main",
930    ],
931)
932
933cc_test(
934    name = "str_join_test",
935    size = "small",
936    srcs = ["str_join_test.cc"],
937    copts = ABSL_TEST_COPTS,
938    visibility = ["//visibility:private"],
939    deps = [
940        ":strings",
941        "//absl/base:core_headers",
942        "//absl/memory",
943        "@com_google_googletest//:gtest_main",
944    ],
945)
946
947cc_test(
948    name = "str_join_benchmark",
949    srcs = ["str_join_benchmark.cc"],
950    copts = ABSL_TEST_COPTS,
951    tags = ["benchmark"],
952    visibility = ["//visibility:private"],
953    deps = [
954        ":strings",
955        "@com_github_google_benchmark//:benchmark_main",
956    ],
957)
958
959cc_test(
960    name = "str_cat_test",
961    size = "small",
962    srcs = ["str_cat_test.cc"],
963    copts = ABSL_TEST_COPTS,
964    visibility = ["//visibility:private"],
965    deps = [
966        ":strings",
967        "//absl/base:core_headers",
968        "@com_google_googletest//:gtest_main",
969    ],
970)
971
972cc_test(
973    name = "str_cat_benchmark",
974    srcs = ["str_cat_benchmark.cc"],
975    copts = ABSL_TEST_COPTS,
976    tags = ["benchmark"],
977    visibility = ["//visibility:private"],
978    deps = [
979        ":strings",
980        "@com_github_google_benchmark//:benchmark_main",
981    ],
982)
983
984cc_test(
985    name = "numbers_test",
986    size = "medium",
987    srcs = [
988        "internal/numbers_test_common.h",
989        "numbers_test.cc",
990    ],
991    copts = ABSL_TEST_COPTS,
992    visibility = ["//visibility:private"],
993    deps = [
994        ":internal",
995        ":pow10_helper",
996        ":strings",
997        "//absl/base:config",
998        "//absl/base:raw_logging_internal",
999        "//absl/random",
1000        "//absl/random:distributions",
1001        "@com_google_googletest//:gtest_main",
1002    ],
1003)
1004
1005cc_test(
1006    name = "numbers_benchmark",
1007    srcs = ["numbers_benchmark.cc"],
1008    copts = ABSL_TEST_COPTS,
1009    tags = ["benchmark"],
1010    visibility = ["//visibility:private"],
1011    deps = [
1012        ":strings",
1013        "//absl/base:raw_logging_internal",
1014        "//absl/random",
1015        "//absl/random:distributions",
1016        "@com_github_google_benchmark//:benchmark_main",
1017    ],
1018)
1019
1020cc_test(
1021    name = "strip_test",
1022    size = "small",
1023    srcs = ["strip_test.cc"],
1024    copts = ABSL_TEST_COPTS,
1025    visibility = ["//visibility:private"],
1026    deps = [
1027        ":strings",
1028        "@com_google_googletest//:gtest_main",
1029    ],
1030)
1031
1032cc_test(
1033    name = "char_map_test",
1034    srcs = ["internal/char_map_test.cc"],
1035    copts = ABSL_TEST_COPTS,
1036    deps = [
1037        ":internal",
1038        "@com_google_googletest//:gtest_main",
1039    ],
1040)
1041
1042cc_test(
1043    name = "char_map_benchmark",
1044    srcs = ["internal/char_map_benchmark.cc"],
1045    copts = ABSL_TEST_COPTS,
1046    tags = ["benchmark"],
1047    deps = [
1048        ":internal",
1049        "@com_github_google_benchmark//:benchmark_main",
1050    ],
1051)
1052
1053cc_test(
1054    name = "charconv_test",
1055    srcs = ["charconv_test.cc"],
1056    copts = ABSL_TEST_COPTS,
1057    deps = [
1058        ":pow10_helper",
1059        ":str_format",
1060        ":strings",
1061        "@com_google_googletest//:gtest_main",
1062    ],
1063)
1064
1065cc_test(
1066    name = "charconv_parse_test",
1067    srcs = [
1068        "internal/charconv_parse.h",
1069        "internal/charconv_parse_test.cc",
1070    ],
1071    copts = ABSL_TEST_COPTS,
1072    deps = [
1073        ":strings",
1074        "//absl/base:config",
1075        "//absl/base:raw_logging_internal",
1076        "@com_google_googletest//:gtest_main",
1077    ],
1078)
1079
1080cc_test(
1081    name = "charconv_bigint_test",
1082    srcs = [
1083        "internal/charconv_bigint.h",
1084        "internal/charconv_bigint_test.cc",
1085        "internal/charconv_parse.h",
1086    ],
1087    copts = ABSL_TEST_COPTS,
1088    deps = [
1089        ":strings",
1090        "//absl/base:config",
1091        "@com_google_googletest//:gtest_main",
1092    ],
1093)
1094
1095cc_test(
1096    name = "charconv_benchmark",
1097    srcs = [
1098        "charconv_benchmark.cc",
1099    ],
1100    tags = [
1101        "benchmark",
1102    ],
1103    deps = [
1104        ":strings",
1105        "@com_github_google_benchmark//:benchmark_main",
1106    ],
1107)
1108
1109cc_library(
1110    name = "str_format",
1111    hdrs = [
1112        "str_format.h",
1113    ],
1114    copts = ABSL_DEFAULT_COPTS,
1115    linkopts = ABSL_DEFAULT_LINKOPTS,
1116    deps = [
1117        ":str_format_internal",
1118    ],
1119)
1120
1121cc_library(
1122    name = "str_format_internal",
1123    srcs = [
1124        "internal/str_format/arg.cc",
1125        "internal/str_format/bind.cc",
1126        "internal/str_format/extension.cc",
1127        "internal/str_format/float_conversion.cc",
1128        "internal/str_format/output.cc",
1129        "internal/str_format/parser.cc",
1130    ],
1131    hdrs = [
1132        "internal/str_format/arg.h",
1133        "internal/str_format/bind.h",
1134        "internal/str_format/checker.h",
1135        "internal/str_format/extension.h",
1136        "internal/str_format/float_conversion.h",
1137        "internal/str_format/output.h",
1138        "internal/str_format/parser.h",
1139    ],
1140    copts = ABSL_DEFAULT_COPTS,
1141    linkopts = ABSL_DEFAULT_LINKOPTS,
1142    visibility = ["//visibility:private"],
1143    deps = [
1144        ":strings",
1145        "//absl/base:config",
1146        "//absl/base:core_headers",
1147        "//absl/functional:function_ref",
1148        "//absl/meta:type_traits",
1149        "//absl/numeric:bits",
1150        "//absl/numeric:int128",
1151        "//absl/numeric:representation",
1152        "//absl/types:optional",
1153        "//absl/types:span",
1154        "//absl/utility",
1155    ],
1156)
1157
1158cc_test(
1159    name = "str_format_test",
1160    srcs = ["str_format_test.cc"],
1161    copts = ABSL_TEST_COPTS,
1162    visibility = ["//visibility:private"],
1163    deps = [
1164        ":cord",
1165        ":str_format",
1166        ":strings",
1167        "//absl/base:core_headers",
1168        "@com_google_googletest//:gtest_main",
1169    ],
1170)
1171
1172cc_test(
1173    name = "str_format_extension_test",
1174    srcs = [
1175        "internal/str_format/extension_test.cc",
1176    ],
1177    copts = ABSL_TEST_COPTS,
1178    visibility = ["//visibility:private"],
1179    deps = [
1180        ":str_format",
1181        ":str_format_internal",
1182        ":strings",
1183        "@com_google_googletest//:gtest_main",
1184    ],
1185)
1186
1187cc_test(
1188    name = "str_format_arg_test",
1189    srcs = ["internal/str_format/arg_test.cc"],
1190    copts = ABSL_TEST_COPTS,
1191    visibility = ["//visibility:private"],
1192    deps = [
1193        ":str_format",
1194        ":str_format_internal",
1195        "@com_google_googletest//:gtest_main",
1196    ],
1197)
1198
1199cc_test(
1200    name = "str_format_bind_test",
1201    srcs = ["internal/str_format/bind_test.cc"],
1202    copts = ABSL_TEST_COPTS,
1203    visibility = ["//visibility:private"],
1204    deps = [
1205        ":str_format_internal",
1206        "@com_google_googletest//:gtest_main",
1207    ],
1208)
1209
1210cc_test(
1211    name = "str_format_checker_test",
1212    srcs = ["internal/str_format/checker_test.cc"],
1213    copts = ABSL_TEST_COPTS,
1214    visibility = ["//visibility:private"],
1215    deps = [
1216        ":str_format",
1217        "@com_google_googletest//:gtest_main",
1218    ],
1219)
1220
1221cc_test(
1222    name = "str_format_convert_test",
1223    size = "medium",
1224    srcs = ["internal/str_format/convert_test.cc"],
1225    copts = ABSL_TEST_COPTS,
1226    visibility = ["//visibility:private"],
1227    deps = [
1228        ":str_format_internal",
1229        ":strings",
1230        "//absl/base:core_headers",
1231        "//absl/base:raw_logging_internal",
1232        "//absl/types:optional",
1233        "@com_google_googletest//:gtest_main",
1234    ],
1235)
1236
1237cc_test(
1238    name = "str_format_output_test",
1239    srcs = ["internal/str_format/output_test.cc"],
1240    copts = ABSL_TEST_COPTS,
1241    visibility = ["//visibility:private"],
1242    deps = [
1243        ":cord",
1244        ":str_format_internal",
1245        "@com_google_googletest//:gtest_main",
1246    ],
1247)
1248
1249cc_test(
1250    name = "str_format_parser_test",
1251    srcs = ["internal/str_format/parser_test.cc"],
1252    copts = ABSL_TEST_COPTS,
1253    visibility = ["//visibility:private"],
1254    deps = [
1255        ":str_format_internal",
1256        "//absl/base:core_headers",
1257        "@com_google_googletest//:gtest_main",
1258    ],
1259)
1260
1261cc_library(
1262    name = "pow10_helper",
1263    testonly = True,
1264    srcs = ["internal/pow10_helper.cc"],
1265    hdrs = ["internal/pow10_helper.h"],
1266    linkopts = ABSL_DEFAULT_LINKOPTS,
1267    visibility = ["//visibility:private"],
1268    deps = ["//absl/base:config"],
1269)
1270
1271cc_test(
1272    name = "pow10_helper_test",
1273    srcs = ["internal/pow10_helper_test.cc"],
1274    copts = ABSL_TEST_COPTS,
1275    visibility = ["//visibility:private"],
1276    deps = [
1277        ":pow10_helper",
1278        ":str_format",
1279        "@com_google_googletest//:gtest_main",
1280    ],
1281)
1282
1283cc_binary(
1284    name = "atod_manual_test",
1285    testonly = 1,
1286    srcs = ["atod_manual_test.cc"],
1287    copts = ABSL_TEST_COPTS,
1288    linkopts = ABSL_DEFAULT_LINKOPTS,
1289    visibility = ["//visibility:private"],
1290    deps = [
1291        ":str_format",
1292        ":strings",
1293        "//absl/base",
1294        "//absl/types:optional",
1295    ],
1296)
1297