diff options
Diffstat (limited to 'absl')
-rw-r--r-- | absl/hash/hash.h | 7 | ||||
-rw-r--r-- | absl/hash/internal/hash.h | 12 |
2 files changed, 10 insertions, 9 deletions
diff --git a/absl/hash/hash.h b/absl/hash/hash.h index 74e2d7c0..956befa9 100644 --- a/absl/hash/hash.h +++ b/absl/hash/hash.h @@ -110,9 +110,10 @@ ABSL_NAMESPACE_BEGIN // * std::unique_ptr and std::shared_ptr // * All string-like types including: // * absl::Cord -// * std::string -// * std::string_view (as well as any instance of std::basic_string that -// uses char and std::char_traits) +// * std::string (as well as any instance of std::basic_string that +// uses one of {char, wchar_t, char16_t, char32_t} and its associated +// std::char_traits) +// * std::string_view // * All the standard sequence containers (provided the elements are hashable) // * All the standard associative containers (provided the elements are // hashable) diff --git a/absl/hash/internal/hash.h b/absl/hash/internal/hash.h index 61970e0d..a22a537b 100644 --- a/absl/hash/internal/hash.h +++ b/absl/hash/internal/hash.h @@ -516,14 +516,14 @@ H AbslHashValue(H hash_state, const std::shared_ptr<T>& ptr) { // the same character sequence. These types are: // // - `absl::Cord` -// - `std::string` (and std::basic_string<char, std::char_traits<char>, A> for -// any allocator A) +// - `std::string` (and std::basic_string<T, std::char_traits<T>, A> for +// any allocator A and any T in {char, wchar_t, char16_t, char32_t}) // - `absl::string_view` and `std::string_view` // -// For simplicity, we currently support only `char` strings. This support may -// be broadened, if necessary, but with some caution - this overload would -// misbehave in cases where the traits' `eq()` member isn't equivalent to `==` -// on the underlying character type. +// For simplicity, we currently support only strings built on `char`, `wchar_t`, +// `char16_t`, or `char32_t`. This support may be broadened, if necessary, but +// with some caution - this overload would misbehave in cases where the traits' +// `eq()` member isn't equivalent to `==` on the underlying character type. template <typename H> H AbslHashValue(H hash_state, absl::string_view str) { return H::combine( |