bd40a41cc1
f28d30df5769bb832dec3ff36d2fcd2bcdf494a3 by Shaindel Schwartz <shaindel@google.com>: Internal change PiperOrigin-RevId: 201046831 -- 711715a78b7e53dfaafd4d7f08a74e76db22af88 by Mark Barolak <mbar@google.com>: Internal fix PiperOrigin-RevId: 201043684 -- 64b53edd6bf1fa48f74e7f5d33f00f80d5089147 by Shaindel Schwartz <shaindel@google.com>: Remove extra whitespace PiperOrigin-RevId: 201041989 -- 0bdd2a0b33657b688e4a04aeba9ebba47e4dc6ca by Shaindel Schwartz <shaindel@google.com>: Whitespace fix. PiperOrigin-RevId: 201034413 -- 3deb0ac296ef1b74c4789e114a8a8bf53253f26b by Shaindel Schwartz <shaindel@google.com>: Scrub build tags. No functional changes. PiperOrigin-RevId: 201032927 -- da75d0f8b73baa7e8f4e9a092bba546012ed3b71 by Alex Strelnikov <strel@google.com>: Internal change. PiperOrigin-RevId: 201026131 -- 6815d80caa19870d0c441b6b9816c68db41393a5 by Tom Manshreck <shreck@google.com>: Add documentation for our LTS snapshot branches PiperOrigin-RevId: 201025191 -- 64c3b02006f39e6a8127bbabf9ec947fb45b6504 by Greg Falcon <gfalcon@google.com>: Provide absl::from_chars for double and float types. This is a forward-compatible implementation of std::from_chars from C++17. This provides exact "round_to_nearest" conversions, and has some nice properties: * Works with string_view (it can convert numbers from non-NUL-terminated buffers) * Never allocates memory * Faster than the standard library strtod() in our toolchain * Uses integer math in its calculations, so is unaffected by floating point environment * Unaffected by C locale Also change SimpleAtod/SimpleAtoi to use this new API under the hood. PiperOrigin-RevId: 201003324 -- 542869258eb100779497c899103dc96aced52749 by Greg Falcon <gfalcon@google.com>: Internal change PiperOrigin-RevId: 200999200 -- 3aba192775c7f80e2cd7f221b0a73537823c54ea by Gennadiy Rozental <rogeeff@google.com>: Internal change PiperOrigin-RevId: 200947470 -- daf9b9feedd748d5364a4c06165b7cb7604d3e1e by Mark Barolak <mbar@google.com>: Add an absl:: qualification to a usage of base_internal::SchedulingMode outside of an absl:: namespace. PiperOrigin-RevId: 200748234 -- a8d265290a22d629f3d9bf9f872c204200bfe8c8 by Mark Barolak <mbar@google.com>: Add a missing namespace closing comment to optional.h. PiperOrigin-RevId: 200739934 -- f05af8ee1c6b864dad2df7c907d424209a3e3202 by Abseil Team <absl-team@google.com>: Internal change PiperOrigin-RevId: 200719115 GitOrigin-RevId: f28d30df5769bb832dec3ff36d2fcd2bcdf494a3 Change-Id: Ie4fa601078fd4aa57286372611f1d114fdec82c0
494 lines
11 KiB
Text
494 lines
11 KiB
Text
#
|
|
# Copyright 2017 The Abseil Authors.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
load(
|
|
"//absl:copts.bzl",
|
|
"ABSL_DEFAULT_COPTS",
|
|
"ABSL_TEST_COPTS",
|
|
"ABSL_EXCEPTIONS_FLAG",
|
|
)
|
|
|
|
package(
|
|
default_visibility = ["//visibility:public"],
|
|
features = ["parse_headers"],
|
|
)
|
|
|
|
licenses(["notice"]) # Apache 2.0
|
|
|
|
cc_library(
|
|
name = "strings",
|
|
srcs = [
|
|
"ascii.cc",
|
|
"charconv.cc",
|
|
"escaping.cc",
|
|
"internal/charconv_bigint.cc",
|
|
"internal/charconv_bigint.h",
|
|
"internal/charconv_parse.cc",
|
|
"internal/charconv_parse.h",
|
|
"internal/memutil.cc",
|
|
"internal/memutil.h",
|
|
"internal/stl_type_traits.h",
|
|
"internal/str_join_internal.h",
|
|
"internal/str_split_internal.h",
|
|
"match.cc",
|
|
"numbers.cc",
|
|
"str_cat.cc",
|
|
"str_replace.cc",
|
|
"str_split.cc",
|
|
"string_view.cc",
|
|
"substitute.cc",
|
|
],
|
|
hdrs = [
|
|
"ascii.h",
|
|
"charconv.h",
|
|
"escaping.h",
|
|
"match.h",
|
|
"numbers.h",
|
|
"str_cat.h",
|
|
"str_join.h",
|
|
"str_replace.h",
|
|
"str_split.h",
|
|
"string_view.h",
|
|
"strip.h",
|
|
"substitute.h",
|
|
],
|
|
copts = ABSL_DEFAULT_COPTS,
|
|
deps = [
|
|
":internal",
|
|
"//absl/base",
|
|
"//absl/base:config",
|
|
"//absl/base:core_headers",
|
|
"//absl/base:endian",
|
|
"//absl/base:throw_delegate",
|
|
"//absl/memory",
|
|
"//absl/meta:type_traits",
|
|
"//absl/numeric:int128",
|
|
],
|
|
)
|
|
|
|
cc_library(
|
|
name = "internal",
|
|
srcs = [
|
|
"internal/ostringstream.cc",
|
|
"internal/utf8.cc",
|
|
],
|
|
hdrs = [
|
|
"internal/bits.h",
|
|
"internal/char_map.h",
|
|
"internal/ostringstream.h",
|
|
"internal/resize_uninitialized.h",
|
|
"internal/utf8.h",
|
|
],
|
|
copts = ABSL_DEFAULT_COPTS,
|
|
deps = [
|
|
"//absl/base:core_headers",
|
|
"//absl/base:endian",
|
|
"//absl/meta:type_traits",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "match_test",
|
|
size = "small",
|
|
srcs = ["match_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "escaping_test",
|
|
size = "small",
|
|
srcs = [
|
|
"escaping_test.cc",
|
|
"internal/escaping_test_common.h",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"//absl/container:fixed_array",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "escaping_benchmark",
|
|
srcs = [
|
|
"escaping_benchmark.cc",
|
|
"internal/escaping_test_common.h",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ascii_test",
|
|
size = "small",
|
|
srcs = ["ascii_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "memutil_benchmark",
|
|
srcs = [
|
|
"internal/memutil.h",
|
|
"internal/memutil_benchmark.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "memutil_test",
|
|
size = "small",
|
|
srcs = [
|
|
"internal/memutil.h",
|
|
"internal/memutil_test.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "utf8_test",
|
|
size = "small",
|
|
srcs = [
|
|
"internal/utf8_test.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":internal",
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "string_view_benchmark",
|
|
srcs = ["string_view_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"//absl/base:core_headers",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "string_view_test",
|
|
size = "small",
|
|
srcs = ["string_view_test.cc"],
|
|
copts = ABSL_TEST_COPTS + ABSL_EXCEPTIONS_FLAG,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:config",
|
|
"//absl/base:core_headers",
|
|
"//absl/base:dynamic_annotations",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "substitute_test",
|
|
size = "small",
|
|
srcs = ["substitute_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_replace_benchmark",
|
|
srcs = ["str_replace_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_replace_test",
|
|
size = "small",
|
|
srcs = ["str_replace_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_split_test",
|
|
srcs = ["str_split_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"//absl/base:dynamic_annotations",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_split_benchmark",
|
|
srcs = ["str_split_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ostringstream_test",
|
|
size = "small",
|
|
srcs = ["internal/ostringstream_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":internal",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "ostringstream_benchmark",
|
|
srcs = ["internal/ostringstream_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":internal",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "resize_uninitialized_test",
|
|
size = "small",
|
|
srcs = [
|
|
"internal/resize_uninitialized.h",
|
|
"internal/resize_uninitialized_test.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
"//absl/base:core_headers",
|
|
"//absl/meta:type_traits",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_join_test",
|
|
size = "small",
|
|
srcs = ["str_join_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"//absl/memory",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_join_benchmark",
|
|
srcs = ["str_join_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/memory",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_cat_test",
|
|
size = "small",
|
|
srcs = ["str_cat_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "str_cat_benchmark",
|
|
srcs = ["str_cat_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "numbers_test",
|
|
size = "small",
|
|
srcs = [
|
|
"internal/numbers_test_common.h",
|
|
"numbers_test.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"//absl/base:core_headers",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "strip_test",
|
|
size = "small",
|
|
srcs = ["strip_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
visibility = ["//visibility:private"],
|
|
deps = [
|
|
":strings",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "char_map_test",
|
|
srcs = ["internal/char_map_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
deps = [
|
|
":internal",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "char_map_benchmark",
|
|
srcs = ["internal/char_map_benchmark.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
tags = ["benchmark"],
|
|
deps = [
|
|
":internal",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "charconv_test",
|
|
srcs = ["charconv_test.cc"],
|
|
copts = ABSL_TEST_COPTS,
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "charconv_parse_test",
|
|
srcs = [
|
|
"internal/charconv_parse.h",
|
|
"internal/charconv_parse_test.cc",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "charconv_bigint_test",
|
|
srcs = [
|
|
"internal/charconv_bigint.h",
|
|
"internal/charconv_bigint_test.cc",
|
|
"internal/charconv_parse.h",
|
|
],
|
|
copts = ABSL_TEST_COPTS,
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_google_googletest//:gtest_main",
|
|
],
|
|
)
|
|
|
|
cc_test(
|
|
name = "charconv_benchmark",
|
|
srcs = [
|
|
"charconv_benchmark.cc",
|
|
],
|
|
deps = [
|
|
":strings",
|
|
"//absl/base",
|
|
"@com_github_google_benchmark//:benchmark_main",
|
|
],
|
|
)
|