Drop OverrideStream

This commit is contained in:
Anthony Towns 2023-09-07 19:17:53 +10:00
parent 6e9e4e6130
commit c94f7e5b1c

View File

@ -45,45 +45,6 @@ inline void Xor(Span<std::byte> write, Span<const std::byte> key, size_t key_off
}
} // namespace util
template<typename Stream>
class OverrideStream
{
Stream* stream;
const int nVersion;
public:
OverrideStream(Stream* stream_, int nVersion_) : stream{stream_}, nVersion{nVersion_} {}
template<typename T>
OverrideStream<Stream>& operator<<(const T& obj)
{
::Serialize(*this, obj);
return (*this);
}
template<typename T>
OverrideStream<Stream>& operator>>(T&& obj)
{
::Unserialize(*this, obj);
return (*this);
}
void write(Span<const std::byte> src)
{
stream->write(src);
}
void read(Span<std::byte> dst)
{
stream->read(dst);
}
int GetVersion() const { return nVersion; }
size_t size() const { return stream->size(); }
void ignore(size_t size) { return stream->ignore(size); }
};
/* Minimal stream for overwriting and/or appending to an existing byte vector
*
* The referenced vector will grow as necessary