ultimatepp/bazaar/BufferStream/BufferStream.h
kohait 97d39a8681 bazaar: BufferStream: some fixes
git-svn-id: svn://ultimatepp.org/upp/trunk@4998 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2012-05-22 20:56:15 +00:00

35 lines
906 B
C++

#ifndef _BufferStream_BufferStream_h
#define _BufferStream_BufferStream_h
#include <Core/Core.h>
using namespace Upp;
class BufferStream : public MemStream {
protected:
virtual void _Put(int w) { byte h = w; _Put(&h, 1); }
virtual void _Put(const void *data, dword size);
public:
virtual void Seek(int64 pos);
virtual void SetSize(int64 asize);
protected:
Vector<byte> data;
public:
void Open(Vector<byte>& d);
void Create();
void Reserve(int n) { SetSize(GetSize() + n); }
void Crop() { SetSize(GetPos()); }
Vector<byte> GetResult();
operator Vector<byte>() { return GetResult(); }
BufferStream() { Create(); }
BufferStream(Vector<byte>& d) { Open(d); }
};
typedef BufferStream VectorStream;
#endif