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,
// 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
@ -876,7 +876,7 @@ public:
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;
return *this;
@ -1105,10 +1105,9 @@ public:
void ReadVersion() { *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
assert(nSize >= 0);
unsigned int nReadPosNext = nReadPos + nSize;
if (nReadPosNext >= vch.size())
{
@ -1145,10 +1144,9 @@ public:
return (*this);
}
CDataStream& write(const char* pch, int nSize)
CDataStream& write(const char* pch, size_t nSize)
{
// Write to the end of the buffer
assert(nSize >= 0);
vch.insert(vch.end(), pch, pch + nSize);
return (*this);
}