mirror of
https://github.com/ciphervance/supercell-wx.git
synced 2025-10-30 18:40:05 +00:00
34 lines
660 B
C++
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
|