Remove containers' dependency on cord library.#1971
Open
anpol wants to merge 1 commit intoabseil:masterfrom
Open
Remove containers' dependency on cord library.#1971anpol wants to merge 1 commit intoabseil:masterfrom
anpol wants to merge 1 commit intoabseil:masterfrom
Conversation
Abseil associative containers having keys of a string type provide so-called heterogeneous lookup: they allow either `std::string`, `std::string_view`, or `absl::Cord` values in lookup. On the other hand, using either of associative containers should not require compiling the cord library unless the use of `absl::Cord` is explicitly requested. The solution is to forward-declare `absl::Cord` and a few functions just to support heterogeneous lookup, make the associative containers use these functions only, and require users of `absl::Cord` to link with the cord library explicitly. fixes abseil#1868
derekmauro
requested changes
Nov 17, 2025
| #include "absl/hash/hash.h" | ||
| #include "absl/meta/type_traits.h" | ||
| #include "absl/strings/cord.h" | ||
| #include "absl/strings/internal/cord_lookup_support.h" |
Member
There was a problem hiding this comment.
This doesn't work as is since the Bazel build now has an undeclared dependency on this header. The same goes for the other places where the dependency was removed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Abseil associative containers having keys of a string type provide so-called heterogeneous lookup: they allow either
std::string,std::string_view, orabsl::Cordvalues in lookup.On the other hand, using either of associative containers should not require compiling the cord library unless the use of
absl::Cordis explicitly requested.The solution is to forward-declare
absl::Cordand a few functions just to support heterogeneous lookup, make the associative containers use these functions only, and require users ofabsl::Cordto link with the cord library explicitly.fixes #1868