aboutsummaryrefslogtreecommitdiff
path: root/src/streams.h
diff options
context:
space:
mode:
authorPieter Wuille <pieter@wuille.net>2021-12-06 15:45:38 -0500
committerPieter Wuille <pieter@wuille.net>2021-12-06 16:18:14 -0500
commit31ba1af74a0aaec690a01ea061264a6d5039d885 (patch)
tree9c2d76a9fd160cece7095a8beddb35af586318e5 /src/streams.h
parent786ffb3ae488061e13c02ad3fb34a5d2fc785b3d (diff)
downloadbitcoin-31ba1af74a0aaec690a01ea061264a6d5039d885.tar.xz
Remove unused (and broken) functionality in SpanReader
This removes the ability to set an offset in the SpanReader constructor, as the current code is broken. All call sites use pos=0, so it is actually unused. If future call sites need it, SpanReader{a, b, c, d} is equivalent to SpanReader{a, b, c.subspan(d)}. It also removes the ability to deserialize from SpanReader directly from the constructor. This too is unused, and can be more idiomatically simulated using (SpanReader{a, b, c} >> x >> y >> z) instead of SpanReader{a, b, c, x, y, z}.
Diffstat (limited to 'src/streams.h')
-rw-r--r--src/streams.h23
1 files changed, 2 insertions, 21 deletions
diff --git a/src/streams.h b/src/streams.h
index dbb942f306..98b99b1a62 100644
--- a/src/streams.h
+++ b/src/streams.h
@@ -143,28 +143,9 @@ public:
* @param[in] type Serialization Type
* @param[in] version Serialization Version (including any flags)
* @param[in] data Referenced byte vector to overwrite/append
- * @param[in] pos Starting position. Vector index where reads should start.
*/
- SpanReader(int type, int version, Span<const unsigned char> data, size_t pos)
- : m_type(type), m_version(version), m_data(data)
- {
- if (pos > m_data.size()) {
- throw std::ios_base::failure("SpanReader(...): end of data (pos > m_data.size())");
- }
- data = data.subspan(pos);
- }
-
- /**
- * (other params same as above)
- * @param[in] args A list of items to deserialize starting at pos.
- */
- template <typename... Args>
- SpanReader(int type, int version, Span<const unsigned char> data, size_t pos,
- Args&&... args)
- : SpanReader(type, version, data, pos)
- {
- ::UnserializeMany(*this, std::forward<Args>(args)...);
- }
+ SpanReader(int type, int version, Span<const unsigned char> data)
+ : m_type(type), m_version(version), m_data(data) {}
template<typename T>
SpanReader& operator>>(T&& obj)