Changeset View
Changeset View
Standalone View
Standalone View
src/streams.h
Show First 20 Lines • Show All 304 Lines • ▼ Show 20 Lines | bool Rewind(size_type n) { | ||||
return true; | return true; | ||||
} | } | ||||
// | // | ||||
// Stream subset | // Stream subset | ||||
// | // | ||||
bool eof() const { return size() == 0; } | bool eof() const { return size() == 0; } | ||||
CDataStream *rdbuf() { return this; } | CDataStream *rdbuf() { return this; } | ||||
int in_avail() { return size(); } | int in_avail() const { return size(); } | ||||
void SetType(int n) { nType = n; } | void SetType(int n) { nType = n; } | ||||
int GetType() const { return nType; } | int GetType() const { return nType; } | ||||
void SetVersion(int n) { nVersion = n; } | void SetVersion(int n) { nVersion = n; } | ||||
int GetVersion() const { return nVersion; } | int GetVersion() const { return nVersion; } | ||||
void read(char *pch, size_t nSize) { | void read(char *pch, size_t nSize) { | ||||
if (nSize == 0) { | if (nSize == 0) { | ||||
▲ Show 20 Lines • Show All 281 Lines • ▼ Show 20 Lines | void read(char *pch, size_t nSize) { | ||||
memcpy(pch, &vchBuf[pos], nNow); | memcpy(pch, &vchBuf[pos], nNow); | ||||
nReadPos += nNow; | nReadPos += nNow; | ||||
pch += nNow; | pch += nNow; | ||||
nSize -= nNow; | nSize -= nNow; | ||||
} | } | ||||
} | } | ||||
// return the current reading position | // return the current reading position | ||||
uint64_t GetPos() { return nReadPos; } | uint64_t GetPos() const { return nReadPos; } | ||||
// rewind to a given reading position | // rewind to a given reading position | ||||
bool SetPos(uint64_t nPos) { | bool SetPos(uint64_t nPos) { | ||||
nReadPos = nPos; | nReadPos = nPos; | ||||
if (nReadPos + nRewind < nSrcPos) { | if (nReadPos + nRewind < nSrcPos) { | ||||
nReadPos = nSrcPos - nRewind; | nReadPos = nSrcPos - nRewind; | ||||
return false; | return false; | ||||
} else if (nReadPos > nSrcPos) { | } else if (nReadPos > nSrcPos) { | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |