)]}'
{
  "commit": "387b368dfe63fec317f8e609d90c634807f2764e",
  "tree": "cc8469dbbda55e4e730f23c1b5b4ba045f8d1d4a",
  "parents": [
    "19bf826e6e5d05100cb3568e90e48bd3c97d4f22"
  ],
  "author": {
    "name": "David \u0027Digit\u0027 Turner",
    "email": "digit@google.com",
    "time": "Wed Dec 22 13:55:29 2021 +0100"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Thu Jan 06 11:20:33 2022 +0000"
  },
  "message": "Improve UniqueVector class.\n\nThis improves the UniqueVector template class in several ways,\nwhich will be used by future CLs:\n\n- Allow custom hash and equality operators to be used for\n  the items in the set.\n\n- Make the UniqueVectorNode internal set type smaller by using\n  32-bit indices and hash values, reducing the RAM footproint of\n  each instance.\n\n- Add Contains() method, and kIndexNone value, returned by IndexOf()\n  when the value is not found, replacing the hard-coded (size_t)-1\n  value.\n\n- Add emplace_back() method for convenience.\n\n- Add a release() method to move the final vector out of the\n  instance.\n\n- Add PushBackWithIndex(), EmplaceBackWithIndex() methods to\n  perform push_back() / emplace_back() while returning a\n  (insertion_flag, item_index) value.\n\nBug: None\nChange-Id: I381cd05f5fc8fadf06d66379a1ead67c9f940267\nReviewed-on: https://gn-review.googlesource.com/c/gn/+/12701\nReviewed-by: Brett Wilson \u003cbrettw@chromium.org\u003e\nCommit-Queue: David Turner \u003cdigit@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "376c943fb691dc06d6baa83cfaee9c9187027149",
      "old_mode": 33188,
      "old_path": "src/gn/ninja_c_binary_target_writer.cc",
      "new_id": "5b518b3edd198b1cb14ee7ca9d3c57e031d4eb07",
      "new_mode": 33188,
      "new_path": "src/gn/ninja_c_binary_target_writer.cc"
    },
    {
      "type": "modify",
      "old_id": "821f55ae71eee5d170de37869c025a65b8be7ed2",
      "old_mode": 33188,
      "old_path": "src/gn/unique_vector.h",
      "new_id": "da4edc2081ea0071693938cf41ab880da893fcfa",
      "new_mode": 33188,
      "new_path": "src/gn/unique_vector.h"
    },
    {
      "type": "modify",
      "old_id": "96303b460d50510d018643cd87210cb368996320",
      "old_mode": 33188,
      "old_path": "src/gn/unique_vector_unittest.cc",
      "new_id": "186cefb5a4f542d6fead134ef4b3b1ef7b2f94d1",
      "new_mode": 33188,
      "new_path": "src/gn/unique_vector_unittest.cc"
    }
  ]
}
