Commit 1adf896e by Derek Mauro Committed by Copybara-Service

Add a smaller library for string_view so that users can

depend on string_view without depending on all of
//absl/strings:strings

New code that uses string_view.h should depend on
//absl/strings:string_view (Bazel) or
absl::string_view (CMake) instead.
PiperOrigin-RevId: 547283268
Change-Id: I6006b19605ce377d12c462129dda14251d16e1c1
parent 25800da2
...@@ -28,6 +28,20 @@ package( ...@@ -28,6 +28,20 @@ package(
licenses(["notice"]) licenses(["notice"])
cc_library( cc_library(
name = "string_view",
srcs = ["string_view.cc"],
hdrs = ["string_view.h"],
copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS,
deps = [
"//absl/base",
"//absl/base:config",
"//absl/base:core_headers",
"//absl/base:throw_delegate",
],
)
cc_library(
name = "strings", name = "strings",
srcs = [ srcs = [
"ascii.cc", "ascii.cc",
...@@ -50,7 +64,6 @@ cc_library( ...@@ -50,7 +64,6 @@ cc_library(
"str_cat.cc", "str_cat.cc",
"str_replace.cc", "str_replace.cc",
"str_split.cc", "str_split.cc",
"string_view.cc",
"substitute.cc", "substitute.cc",
], ],
hdrs = [ hdrs = [
...@@ -72,8 +85,15 @@ cc_library( ...@@ -72,8 +85,15 @@ cc_library(
], ],
copts = ABSL_DEFAULT_COPTS, copts = ABSL_DEFAULT_COPTS,
linkopts = ABSL_DEFAULT_LINKOPTS, linkopts = ABSL_DEFAULT_LINKOPTS,
textual_hdrs = [
# string_view.h was once part of :strings, so string_view.h is
# re-exported for backwards compatibility.
# New code should directly depend on :string_view.
"string_view.h",
],
deps = [ deps = [
":internal", ":internal",
":string_view",
"//absl/base", "//absl/base",
"//absl/base:config", "//absl/base:config",
"//absl/base:core_headers", "//absl/base:core_headers",
...@@ -263,6 +283,7 @@ cc_test( ...@@ -263,6 +283,7 @@ cc_test(
tags = ["benchmark"], tags = ["benchmark"],
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
":string_view",
":strings", ":strings",
"//absl/base:core_headers", "//absl/base:core_headers",
"//absl/base:raw_logging_internal", "//absl/base:raw_logging_internal",
...@@ -277,7 +298,7 @@ cc_test( ...@@ -277,7 +298,7 @@ cc_test(
copts = ABSL_TEST_COPTS, copts = ABSL_TEST_COPTS,
visibility = ["//visibility:private"], visibility = ["//visibility:private"],
deps = [ deps = [
":strings", ":string_view",
"//absl/base:config", "//absl/base:config",
"//absl/base:core_headers", "//absl/base:core_headers",
"//absl/base:dynamic_annotations", "//absl/base:dynamic_annotations",
......
...@@ -16,6 +16,23 @@ ...@@ -16,6 +16,23 @@
absl_cc_library( absl_cc_library(
NAME NAME
string_view
HDRS
string_view.h
SRCS
string_view.cc
COPTS
${ABSL_DEFAULT_COPTS}
DEPS
absl::base
absl::config
absl::core_headers
absl::throw_delegate
PUBLIC
)
absl_cc_library(
NAME
strings strings
HDRS HDRS
"ascii.h" "ascii.h"
...@@ -30,7 +47,6 @@ absl_cc_library( ...@@ -30,7 +47,6 @@ absl_cc_library(
"str_join.h" "str_join.h"
"str_replace.h" "str_replace.h"
"str_split.h" "str_split.h"
"string_view.h"
"strip.h" "strip.h"
"substitute.h" "substitute.h"
SRCS SRCS
...@@ -54,11 +70,11 @@ absl_cc_library( ...@@ -54,11 +70,11 @@ absl_cc_library(
"str_cat.cc" "str_cat.cc"
"str_replace.cc" "str_replace.cc"
"str_split.cc" "str_split.cc"
"string_view.cc"
"substitute.cc" "substitute.cc"
COPTS COPTS
${ABSL_DEFAULT_COPTS} ${ABSL_DEFAULT_COPTS}
DEPS DEPS
absl::string_view
absl::strings_internal absl::strings_internal
absl::base absl::base
absl::bits absl::bits
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment