Browse Source

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.
tags/v0.15.1
Kamil Domanski 6 years ago
parent
commit
8695a39350
1 changed files with 4 additions and 6 deletions
  1. 4
    6
      src/serialize.h

+ 4
- 6
src/serialize.h 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);
}

Loading…
Cancel
Save