supercell-wx/wxdata/include/scwx/util/vectorbuf.hpp
2021-06-18 21:54:05 -05:00

34 lines
660 B
C++

#pragma once
#include <streambuf>
#include <vector>
namespace scwx
{
namespace util
{
class vectorbuf : public std::streambuf
{
public:
vectorbuf(std::vector<char>& v);
~vectorbuf() = default;
vectorbuf(const vectorbuf&) = delete;
vectorbuf& operator=(const vectorbuf&) = delete;
void update_read_pointers(size_t size);
protected:
pos_type
seekoff(std::streamoff off,
std::ios_base::seekdir way,
std::ios_base::openmode which = std::ios_base::in |
std::ios_base::out) override;
private:
std::vector<char>& v_;
};
} // namespace util
} // namespace scwx