|
|
|
@ -226,7 +226,7 @@ public:
|
|
|
|
|
: nType{nTypeIn},
|
|
|
|
|
nVersion{nVersionIn} {}
|
|
|
|
|
|
|
|
|
|
explicit CDataStream(Span<const uint8_t> sp, int nTypeIn, int nVersionIn)
|
|
|
|
|
explicit CDataStream(Span<const value_type> sp, int nTypeIn, int nVersionIn)
|
|
|
|
|
: vch(sp.data(), sp.data() + sp.size()),
|
|
|
|
|
nType{nTypeIn},
|
|
|
|
|
nVersion{nVersionIn} {}
|
|
|
|
@ -254,17 +254,17 @@ public:
|
|
|
|
|
iterator end() { return vch.end(); }
|
|
|
|
|
size_type size() const { return vch.size() - nReadPos; }
|
|
|
|
|
bool empty() const { return vch.size() == nReadPos; }
|
|
|
|
|
void resize(size_type n, value_type c=0) { vch.resize(n + nReadPos, c); }
|
|
|
|
|
void resize(size_type n, value_type c = value_type{}) { vch.resize(n + nReadPos, c); }
|
|
|
|
|
void reserve(size_type n) { vch.reserve(n + nReadPos); }
|
|
|
|
|
const_reference operator[](size_type pos) const { return vch[pos + nReadPos]; }
|
|
|
|
|
reference operator[](size_type pos) { return vch[pos + nReadPos]; }
|
|
|
|
|
void clear() { vch.clear(); nReadPos = 0; }
|
|
|
|
|
iterator insert(iterator it, const uint8_t x) { return vch.insert(it, x); }
|
|
|
|
|
void insert(iterator it, size_type n, const uint8_t x) { vch.insert(it, n, x); }
|
|
|
|
|
iterator insert(iterator it, const value_type x) { return vch.insert(it, x); }
|
|
|
|
|
void insert(iterator it, size_type n, const value_type x) { vch.insert(it, n, x); }
|
|
|
|
|
value_type* data() { return vch.data() + nReadPos; }
|
|
|
|
|
const value_type* data() const { return vch.data() + nReadPos; }
|
|
|
|
|
|
|
|
|
|
void insert(iterator it, std::vector<uint8_t>::const_iterator first, std::vector<uint8_t>::const_iterator last)
|
|
|
|
|
void insert(iterator it, std::vector<value_type>::const_iterator first, std::vector<value_type>::const_iterator last)
|
|
|
|
|
{
|
|
|
|
|
if (last == first) return;
|
|
|
|
|
assert(last - first > 0);
|
|
|
|
@ -278,7 +278,7 @@ public:
|
|
|
|
|
vch.insert(it, first, last);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void insert(iterator it, const char* first, const char* last)
|
|
|
|
|
void insert(iterator it, const value_type* first, const value_type* last)
|
|
|
|
|
{
|
|
|
|
|
if (last == first) return;
|
|
|
|
|
assert(last - first > 0);
|
|
|
|
|