mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-05-13 05:10:44 +02:00
Use value_type in CDataStream where possible
Also, simplify unit tests with the CDataStream::str method.
This commit is contained in:
parent
94db963de5
commit
fabe18d0b3
@ -226,7 +226,7 @@ public:
|
|||||||
: nType{nTypeIn},
|
: nType{nTypeIn},
|
||||||
nVersion{nVersionIn} {}
|
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()),
|
: vch(sp.data(), sp.data() + sp.size()),
|
||||||
nType{nTypeIn},
|
nType{nTypeIn},
|
||||||
nVersion{nVersionIn} {}
|
nVersion{nVersionIn} {}
|
||||||
@ -254,17 +254,17 @@ public:
|
|||||||
iterator end() { return vch.end(); }
|
iterator end() { return vch.end(); }
|
||||||
size_type size() const { return vch.size() - nReadPos; }
|
size_type size() const { return vch.size() - nReadPos; }
|
||||||
bool empty() 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); }
|
void reserve(size_type n) { vch.reserve(n + nReadPos); }
|
||||||
const_reference operator[](size_type pos) const { return vch[pos + nReadPos]; }
|
const_reference operator[](size_type pos) const { return vch[pos + nReadPos]; }
|
||||||
reference operator[](size_type pos) { return vch[pos + nReadPos]; }
|
reference operator[](size_type pos) { return vch[pos + nReadPos]; }
|
||||||
void clear() { vch.clear(); nReadPos = 0; }
|
void clear() { vch.clear(); nReadPos = 0; }
|
||||||
iterator insert(iterator it, const uint8_t x) { return vch.insert(it, x); }
|
iterator insert(iterator it, const value_type x) { return vch.insert(it, x); }
|
||||||
void insert(iterator it, size_type n, const uint8_t x) { vch.insert(it, n, x); }
|
void insert(iterator it, size_type n, const value_type x) { vch.insert(it, n, x); }
|
||||||
value_type* data() { return vch.data() + nReadPos; }
|
value_type* data() { return vch.data() + nReadPos; }
|
||||||
const value_type* data() const { 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;
|
if (last == first) return;
|
||||||
assert(last - first > 0);
|
assert(last - first > 0);
|
||||||
@ -278,7 +278,7 @@ public:
|
|||||||
vch.insert(it, first, last);
|
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;
|
if (last == first) return;
|
||||||
assert(last - first > 0);
|
assert(last - first > 0);
|
||||||
|
@ -172,7 +172,7 @@ BOOST_AUTO_TEST_CASE(streams_serializedata_xor)
|
|||||||
ds.Xor(key);
|
ds.Xor(key);
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
std::string(expected_xor.begin(), expected_xor.end()),
|
std::string(expected_xor.begin(), expected_xor.end()),
|
||||||
std::string(ds.begin(), ds.end()));
|
ds.str());
|
||||||
|
|
||||||
in.push_back('\x0f');
|
in.push_back('\x0f');
|
||||||
in.push_back('\xf0');
|
in.push_back('\xf0');
|
||||||
@ -189,7 +189,7 @@ BOOST_AUTO_TEST_CASE(streams_serializedata_xor)
|
|||||||
ds.Xor(key);
|
ds.Xor(key);
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
std::string(expected_xor.begin(), expected_xor.end()),
|
std::string(expected_xor.begin(), expected_xor.end()),
|
||||||
std::string(ds.begin(), ds.end()));
|
ds.str());
|
||||||
|
|
||||||
// Multi character key
|
// Multi character key
|
||||||
|
|
||||||
@ -210,7 +210,7 @@ BOOST_AUTO_TEST_CASE(streams_serializedata_xor)
|
|||||||
ds.Xor(key);
|
ds.Xor(key);
|
||||||
BOOST_CHECK_EQUAL(
|
BOOST_CHECK_EQUAL(
|
||||||
std::string(expected_xor.begin(), expected_xor.end()),
|
std::string(expected_xor.begin(), expected_xor.end()),
|
||||||
std::string(ds.begin(), ds.end()));
|
ds.str());
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(streams_buffered_file)
|
BOOST_AUTO_TEST_CASE(streams_buffered_file)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user