)]}'
{
  "commit": "73afee1e0d25646bb8b42b610f2ffdd43b6aaed4",
  "tree": "3ef2d17beddb769860c039ef0b10c6733ec386f6",
  "parents": [
    "c634b23305ed4e26ca0efa41b859ca7e3da11ee6"
  ],
  "author": {
    "name": "Gabriel Busnot",
    "email": "gabriel.busnot@arteris.com",
    "time": "Mon Feb 27 15:48:23 2023 +0000"
  },
  "committer": {
    "name": "Bobby Bruce",
    "email": "bbruce@ucdavis.edu",
    "time": "Mon Jul 10 23:00:45 2023 +0000"
  },
  "message": "base: Provide stl_helpers::operator\u003c\u003c for more types\n\nThis operator can be safely brought in scope when needed with \"using\nstl_helpers::operator\u003c\u003c\".\n\nIn order to provide a specialization for operator\u003c\u003c with\nstl_helpers-enabled types without loosing the hability to use it with\nother types, a dual-dispatch mechanism is used. The only entry point\nin the system is through a primary dispatch function that won\u0027t\nresolve for non-helped types. Then, recursive calls go through the\nsecondary dispatch interface that sort between helped and non-helped\ntypes. Helped typed will enter the system back through the primary\ndispatch interface while other types will look for operator\u003c\u003c through\nregular lookup, especially ADL.\n\nChange-Id: I1609dd6e85e25764f393458d736ec228e025da32\nReviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/67666\nReviewed-by: Daniel Carvalho \u003codanrc@yahoo.com.br\u003e\nTested-by: kokoro \u003cnoreply+kokoro@google.com\u003e\nMaintainer: Bobby Bruce \u003cbbruce@ucdavis.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1d19f56676bc6b66c497671c2e06be10fbf3d2e1",
      "old_mode": 33188,
      "old_path": "src/base/stl_helpers.hh",
      "new_id": "b70eea999213b6e97530f459a935e9a46ddd1c96",
      "new_mode": 33188,
      "new_path": "src/base/stl_helpers.hh"
    },
    {
      "type": "modify",
      "old_id": "1143dc2d42054993dfa190986b37a69e3df47703",
      "old_mode": 33188,
      "old_path": "src/base/stl_helpers/SConscript",
      "new_id": "7328cf066ad5537d118e36968fe8c0ed367344e7",
      "new_mode": 33188,
      "new_path": "src/base/stl_helpers/SConscript"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a1c92e1ed18f66dc455a57c0742a82a508ca2a88",
      "new_mode": 33188,
      "new_path": "src/base/stl_helpers/ostream_helpers.hh"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "19a1ece27e2da3256f7ce3b49c7f75ce22f83746",
      "new_mode": 33188,
      "new_path": "src/base/stl_helpers/ostream_helpers.test.cc"
    }
  ]
}
