)]}' { "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" } ] }