replace int with size_t in stream methods

Thus the read(...) and write(...) methods of all stream classes now have identical parameter lists.
This will bring these classes one step closer to a common interface.
This commit is contained in:
Kamil Domanski 2014-08-15 22:56:45 +02:00
parent a4f151f714
commit 8695a39350

View File

@ -68,7 +68,7 @@ inline const T* end_ptr(const std::vector<T,TAl>& v)
///////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////
// //
// Templates for serializing to anything that looks like a stream, // Templates for serializing to anything that looks like a stream,
// i.e. anything that supports .read(char*, int) and .write(char*, int) // i.e. anything that supports .read(char*, size_t) and .write(char*, size_t)
// //
enum enum
@ -876,7 +876,7 @@ public:
CSizeComputer(int nTypeIn, int nVersionIn) : nSize(0), nType(nTypeIn), nVersion(nVersionIn) {} CSizeComputer(int nTypeIn, int nVersionIn) : nSize(0), nType(nTypeIn), nVersion(nVersionIn) {}
CSizeComputer& write(const char *psz, int nSize) CSizeComputer& write(const char *psz, size_t nSize)
{ {
this->nSize += nSize; this->nSize += nSize;
return *this; return *this;
@ -1105,10 +1105,9 @@ public:
void ReadVersion() { *this >> nVersion; } void ReadVersion() { *this >> nVersion; }
void WriteVersion() { *this << nVersion; } void WriteVersion() { *this << nVersion; }
CDataStream& read(char* pch, int nSize) CDataStream& read(char* pch, size_t nSize)
{ {
// Read from the beginning of the buffer // Read from the beginning of the buffer
assert(nSize >= 0);
unsigned int nReadPosNext = nReadPos + nSize; unsigned int nReadPosNext = nReadPos + nSize;
if (nReadPosNext >= vch.size()) if (nReadPosNext >= vch.size())
{ {
@ -1145,10 +1144,9 @@ public:
return (*this); return (*this);
} }
CDataStream& write(const char* pch, int nSize) CDataStream& write(const char* pch, size_t nSize)
{ {
// Write to the end of the buffer // Write to the end of the buffer
assert(nSize >= 0);
vch.insert(vch.end(), pch, pch + nSize); vch.insert(vch.end(), pch, pch + nSize);
return (*this); return (*this);
} }