Have a SHAMapItem use a serializer internally to save copies and avoid ugliness.

This commit is contained in:
JoelKatz
2012-04-17 05:03:21 -07:00
parent 23e46d4f12
commit fb415dc6ac

View File

@@ -91,7 +91,7 @@ public:
private: private:
uint256 mTag; uint256 mTag;
std::vector<unsigned char> mData; Serializer mData;
public: public:
@@ -103,8 +103,9 @@ public:
SHAMapItem(const uint160& tag, const std::vector<unsigned char>& data); SHAMapItem(const uint160& tag, const std::vector<unsigned char>& data);
const uint256& getTag() const { return mTag; } const uint256& getTag() const { return mTag; }
std::vector<unsigned char> getData() const { return mData; } std::vector<unsigned char> getData() const { return mData.getData(); }
const std::vector<unsigned char>& peekData() const { return mData; } const std::vector<unsigned char>& peekData() const { return mData.peekData(); }
Serializer& peekSerializer() { return mData; }
void addRaw(Serializer &s) { s.addRaw(mData); } void addRaw(Serializer &s) { s.addRaw(mData); }
void addRaw(std::vector<unsigned char>& s) { s.insert(s.end(), mData.begin(), mData.end()); } void addRaw(std::vector<unsigned char>& s) { s.insert(s.end(), mData.begin(), mData.end()); }