)]}'
{
  "commit": "ddea7533d79d5de692ea21a2f02027a59d357d13",
  "tree": "b033c8576ce026503830bbdf1a57603fa8cc4a24",
  "parents": [
    "e3826891272d239bb2836bf6a2167b44d057d8be"
  ],
  "author": {
    "name": "Vitaly Goldshteyn",
    "email": "goldvitaly@google.com",
    "time": "Wed Sep 02 11:59:43 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Sep 02 12:00:23 2026 -0700"
  },
  "message": "Introduce absl::TransparentHash for transparent hashing of multiple types.\n\nabsl::TransparentHash\u003cTs...\u003e is a hash functor that can hash any of the types Ts... It is marked as transparent (is_transparent \u003d void). This allows containers like absl::flat_hash_map to use a single hash functor for lookups with different but comparable types (e.g., std::string and absl::string_view).\n\nAdded a test case in absl/hash/hash_test.cc using Name and NameView to demonstrate and test absl::TransparentHash with a custom transparent equality functor.\n\n```\nname                 cpu/op       cpu/op     vs base\nBM_TransparentFind   2.620n ± 1%   2.413n ± 1%  -7.90% (p\u003d0.002 n\u003d6)\n\nname                 time/op       time/op     vs base\nBM_TransparentFind   2.625n ± 1%   2.418n ± 1%  -7.87% (p\u003d0.002 n\u003d6)\n\nname                 INSTRUCTIONS/op  INSTRUCTIONS/op  vs base\nBM_TransparentFind    45.07 ± 0%        42.07 ± 0%  -6.67% (p\u003d0.002 n\u003d6)\n\nname                 CYCLES/op   CYCLES/op   vs base\nBM_TransparentFind    9.229 ± 0%   8.492 ± 0%  -7.98% (p\u003d0.002 n\u003d6)\n```\n\nPiperOrigin-RevId: 975251791\nChange-Id: I7400e103167d707366f0be82dce627ab478959dd\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ed977431cc6ef840f4c08bdcfd3d04bda738b375",
      "old_mode": 33188,
      "old_path": "absl/container/flat_hash_set.h",
      "new_id": "c4b82e36a826637b1b43c48cec4c29d44bb6b176",
      "new_mode": 33188,
      "new_path": "absl/container/flat_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "c5878aa7373fa2e5a7100e61cebd76ff2bcac607",
      "old_mode": 33188,
      "old_path": "absl/container/flat_hash_set_test.cc",
      "new_id": "6c99e8d510a233c6154a4424b8361ab0e976bdc7",
      "new_mode": 33188,
      "new_path": "absl/container/flat_hash_set_test.cc"
    },
    {
      "type": "modify",
      "old_id": "fceb4ebaae1765cf09987306922b7bc8a9c12bb8",
      "old_mode": 33188,
      "old_path": "absl/container/internal/container_memory.h",
      "new_id": "b03eb952de29e3f1fd52de1e13597cb9eea5dc00",
      "new_mode": 33188,
      "new_path": "absl/container/internal/container_memory.h"
    },
    {
      "type": "modify",
      "old_id": "9ed387a353c3365c71f7486effd6f9626f08c11c",
      "old_mode": 33188,
      "old_path": "absl/container/internal/container_memory_test.cc",
      "new_id": "70fc0eab6367102c077fddabc03fa4e80b4b852e",
      "new_mode": 33188,
      "new_path": "absl/container/internal/container_memory_test.cc"
    },
    {
      "type": "modify",
      "old_id": "beed150b1d1124244e5df388e410fe72708d3be0",
      "old_mode": 33188,
      "old_path": "absl/container/internal/hash_policy_traits.h",
      "new_id": "e905995cb3402cf2f3ba7b3a47586d1015808695",
      "new_mode": 33188,
      "new_path": "absl/container/internal/hash_policy_traits.h"
    },
    {
      "type": "modify",
      "old_id": "8d498e0ff0fc928a654599ef8a37b82318423d47",
      "old_mode": 33188,
      "old_path": "absl/container/internal/hash_policy_traits_test.cc",
      "new_id": "62ed9d5fbe55336272b8709f0378f11c98a99ae5",
      "new_mode": 33188,
      "new_path": "absl/container/internal/hash_policy_traits_test.cc"
    },
    {
      "type": "modify",
      "old_id": "d02af7e21c68a9dfb42a984c60cf8f2a92b4b3b9",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set.h",
      "new_id": "2e63c105e51c96317fb53561f0dde1446842b4f2",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "58baabeac52e477a422fd510774d1110428aa680",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set_benchmark.cc",
      "new_id": "9ef43eaceb3ee509fbd42684d3b3a87a96e4823c",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "fee9531aca362223e9a6a6430498c986b464f161",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set_probe_benchmark.cc",
      "new_id": "890e40e5b62479362e815f4d06ff1f8558adb649",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set_probe_benchmark.cc"
    },
    {
      "type": "modify",
      "old_id": "06a73bfc0d16464220a3749618bb1944fffebb44",
      "old_mode": 33188,
      "old_path": "absl/container/internal/raw_hash_set_test.cc",
      "new_id": "cc252b4b2e9fdfddadd313b139032c991f7e98d0",
      "new_mode": 33188,
      "new_path": "absl/container/internal/raw_hash_set_test.cc"
    },
    {
      "type": "modify",
      "old_id": "75fc0ccab6ce09b3c48d6f94227e34e2505cddc2",
      "old_mode": 33188,
      "old_path": "absl/container/node_hash_map.h",
      "new_id": "60013e39002e8aa218ce2055c129b0e408101921",
      "new_mode": 33188,
      "new_path": "absl/container/node_hash_map.h"
    },
    {
      "type": "modify",
      "old_id": "9da52e7c64c0d3dd19b35c5329144aba2e525e00",
      "old_mode": 33188,
      "old_path": "absl/container/node_hash_set.h",
      "new_id": "95a270b1b278a521fe9a0040b58850ab6b45e52e",
      "new_mode": 33188,
      "new_path": "absl/container/node_hash_set.h"
    },
    {
      "type": "modify",
      "old_id": "7a767713c9bd3daf0f9ecbda7487e5fb6f833d91",
      "old_mode": 33188,
      "old_path": "absl/hash/hash.h",
      "new_id": "bfccf2774f65b5d3fdfac840fd42c762540de114",
      "new_mode": 33188,
      "new_path": "absl/hash/hash.h"
    },
    {
      "type": "modify",
      "old_id": "d80ccb4771e923411387d8627e75c6e791c3b3aa",
      "old_mode": 33188,
      "old_path": "absl/hash/hash_test.cc",
      "new_id": "75e97561c3bcfed3590d315cf3d5c2eddc77ca29",
      "new_mode": 33188,
      "new_path": "absl/hash/hash_test.cc"
    },
    {
      "type": "modify",
      "old_id": "a7dc74c60ffb4f1d463be8ce9e8a5f2cf8ea2321",
      "old_mode": 33188,
      "old_path": "absl/hash/internal/hash.h",
      "new_id": "fdee6f77fccf680087ac8d8fbaf7417cf0307984",
      "new_mode": 33188,
      "new_path": "absl/hash/internal/hash.h"
    }
  ]
}
