)]}'
{
  "commit": "662a28b4f57fdc40b3281c8550fce7267668d888",
  "tree": "f96ead3e73cd448c79df00431ed3f2b2a8b8c07e",
  "parents": [
    "1d785227c6112837f1ad6de39b35d8408c25bcd6"
  ],
  "author": {
    "name": "Marcin Kowalczyk",
    "email": "qrczak@google.com",
    "time": "Thu Mar 26 13:22:51 2026 +0100"
  },
  "committer": {
    "name": "Marcin Kowalczyk",
    "email": "qrczak@google.com",
    "time": "Thu Mar 26 13:24:01 2026 +0100"
  },
  "message": "Let `HybridDirectMap` API look more like a typical associative container.\n\nAdd `iterator` and `const_iterator`.\n\nRename `Find()` returning a pointer to `FindOrNull()`. Add `find()` returning an\niterator. The performance of `find()` and `FindOrNull()` is comparable, but if\nthe semantics of `FindOrNull()` is needed (such as in `FieldHandlerMap`), then\nthe dedicated function is more readable and can be faster.\n\nAdd `FindOrDefault()`, `contains()`, `at()`, `empty()`, `size()`, `{,c}begin()`,\n`{,c}end()`, and `operator\u003d\u003d`.\n\nPiperOrigin-RevId: 889778092\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a65830d741df6d1cc1636fee5f8a2383e13cdebb",
      "old_mode": 33188,
      "old_path": "riegeli/base/BUILD",
      "new_id": "fb5861fde5795fd8b98aa3ed01bccc22aa74bedb",
      "new_mode": 33188,
      "new_path": "riegeli/base/BUILD"
    },
    {
      "type": "modify",
      "old_id": "16640ffc3f3e375c2b612a577c4df797191e561a",
      "old_mode": 33188,
      "old_path": "riegeli/base/hybrid_direct_common.h",
      "new_id": "0fb05ebe7b85bc055b13d352a18271fad80aae0d",
      "new_mode": 33188,
      "new_path": "riegeli/base/hybrid_direct_common.h"
    },
    {
      "type": "modify",
      "old_id": "7c5fa7978023ce104c1eb7604c698bd6242f483e",
      "old_mode": 33188,
      "old_path": "riegeli/base/hybrid_direct_map.h",
      "new_id": "71aaa4af6aa219e3248e5b6866aed55095a09751",
      "new_mode": 33188,
      "new_path": "riegeli/base/hybrid_direct_map.h"
    },
    {
      "type": "modify",
      "old_id": "b6026e525f12409dd30a1f15132cdd4f3844627d",
      "old_mode": 33188,
      "old_path": "riegeli/messages/field_handler_map.h",
      "new_id": "59ca566be7fee98a89baeb731922d192c4f693cb",
      "new_mode": 33188,
      "new_path": "riegeli/messages/field_handler_map.h"
    }
  ]
}
