)]}'
{
  "commit": "7bc3daecf211bb2389c7dc2348c50fa433cb1c38",
  "tree": "12fb95f0fdd6b4ccbd8f38c1eb6672f82342bda4",
  "parents": [
    "3e6fa6c68783255cadc38c87fbb07b3fd0ef9b6f"
  ],
  "author": {
    "name": "Marcin Kowalczyk",
    "email": "qrczak@google.com",
    "time": "Thu Mar 26 09:16:40 2026 +0100"
  },
  "committer": {
    "name": "Marcin Kowalczyk",
    "email": "qrczak@google.com",
    "time": "Thu Mar 26 09:17:45 2026 +0100"
  },
  "message": "Change how `HybridDirectMap` is parameterized.\n\nSpecify `direct_capacity` as a runtime constructor parameter rather than a\ntemplate parameter.\n\nReplace `expected_min_key` template parameter with `Traits`. This generalizes\nkeys from an integer type to a type with a translation to an unsigned integer\ntype. `SlowMap` is indexed by translated keys to avoid imposing a hashing\nrequirement on the key type.\n\nSplit private headers `hybrid_direct_common.h` (reexported) and\n`hybrid_direct_internal.h` (not reexported) out of `hybrid_direct_map.h`\nto keep the main public header focused.\n\nPiperOrigin-RevId: 889683578\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dcee9f7504f66dcb3d1c0d740bbaf490cc80bfba",
      "old_mode": 33188,
      "old_path": "riegeli/base/BUILD",
      "new_id": "a65830d741df6d1cc1636fee5f8a2383e13cdebb",
      "new_mode": 33188,
      "new_path": "riegeli/base/BUILD"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "16640ffc3f3e375c2b612a577c4df797191e561a",
      "new_mode": 33188,
      "new_path": "riegeli/base/hybrid_direct_common.h"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "4e0163368f19b332b3764213bcc662dfc51455a5",
      "new_mode": 33188,
      "new_path": "riegeli/base/hybrid_direct_internal.h"
    },
    {
      "type": "modify",
      "old_id": "2bdafd53cd034465dad3eeed31dfc8a745a0aea4",
      "old_mode": 33188,
      "old_path": "riegeli/base/hybrid_direct_map.h",
      "new_id": "ebc28808147a1c1d58464d198d52d20c4606f8b2",
      "new_mode": 33188,
      "new_path": "riegeli/base/hybrid_direct_map.h"
    },
    {
      "type": "modify",
      "old_id": "018d98b88504db89cdd795053fdb3d1783f06c22",
      "old_mode": 33188,
      "old_path": "riegeli/messages/field_handler_map.h",
      "new_id": "b6026e525f12409dd30a1f15132cdd4f3844627d",
      "new_mode": 33188,
      "new_path": "riegeli/messages/field_handler_map.h"
    }
  ]
}
