)]}'
{
  "commit": "8dfc732af635d5243194b74d4f411a551ff9a5ee",
  "tree": "75dfa730b6c7b66efa544f5daf1d51636e5cae99",
  "parents": [
    "e71115be6caa2f3afd6fa092a09fd41c2c355691"
  ],
  "author": {
    "name": "David Reiss",
    "email": "dreiss@apache.org",
    "time": "Wed Oct 06 17:09:58 2010 +0000"
  },
  "committer": {
    "name": "David Reiss",
    "email": "dreiss@apache.org",
    "time": "Wed Oct 06 17:09:58 2010 +0000"
  },
  "message": "THRIFT-922. cpp: Fix C++ compilation when using list\u003cbool\u003e\n\nThe STL specializes vector\u003cbool\u003e to store the values as individual bits, rather\nthan bools.  Therefore, when using a Thrift list\u003cbool\u003e, readBool() gets invoked\nnot with a bool\u0026, but with a std::vector\u003cbool\u003e::reference.\n\nTProtocol does provide a readBool(std::vector\u003cbool\u003e::reference) implementation.\nHowever, almost all TProtocol subclasses defined only readBool(bool\u0026), which\nhides the other overloaded versions of readBool().  As a result, the code\nworked only when accessing TProtocol objects via a \"TProtocol*\", and not\ndirectly via the subclass type.  When using C++ templates, protocol objects do\nget invoked via pointers to the subclass type, causing compile failures when\nstd::vector\u003cbool\u003e is used.\n\nThis change updates the various TProtocol implementations to also provide\nreadBool(std::vector\u003cbool\u003e::reference).\n\ngit-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@1005137 13f79535-47bb-0310-9956-ffa450edef68\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca45294ea5f71b0728c97de1a0cd3264092dde27",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TBinaryProtocol.h",
      "new_id": "edb8834f90f8589b016604a382be97ab4951a282",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TBinaryProtocol.h"
    },
    {
      "type": "modify",
      "old_id": "2150cde964aa5d30e9796ad75879ba99be22ff93",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TCompactProtocol.h",
      "new_id": "19a0160aa122225cac7700395d16e42ec88bf0eb",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TCompactProtocol.h"
    },
    {
      "type": "modify",
      "old_id": "ca2d4273cfa2b932f5770ec53392bc860978e992",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TDenseProtocol.h",
      "new_id": "438ed8914763600ccd54da591df53e11265d8379",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TDenseProtocol.h"
    },
    {
      "type": "modify",
      "old_id": "b3a66679cd6191b4d0e02972c886b9770ec69764",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TJSONProtocol.h",
      "new_id": "2be54da2d43bd835a5458768668e07a8f0bf400b",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TJSONProtocol.h"
    },
    {
      "type": "modify",
      "old_id": "4b05de20bc0c15ba3034249216e57f81893779a9",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TProtocol.h",
      "new_id": "3c06bf5cdf31a5da533266801afb89e4257c78ed",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TProtocol.h"
    },
    {
      "type": "modify",
      "old_id": "26fbd3abbb17fe286aedeb8d6d6de8f79aad600c",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TProtocolTap.h",
      "new_id": "3772bff58c9ce6108fdd910ef563acbb19d479b6",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TProtocolTap.h"
    },
    {
      "type": "modify",
      "old_id": "7f015706657e7e2a269657f0bd467ec53a2e1e76",
      "old_mode": 33188,
      "old_path": "lib/cpp/src/protocol/TVirtualProtocol.h",
      "new_id": "9133dbedcf80e96ce3de6bb3c4e37e608be8261c",
      "new_mode": 33188,
      "new_path": "lib/cpp/src/protocol/TVirtualProtocol.h"
    }
  ]
}
