ultimatepp/bazaar/BufferStream/BufferStream.h
kohait 19338a522f bazaar: BufferStream: Crop function
uppweb: bazaar page reference for BufferStream, DeEncrypter, Tree

git-svn-id: svn://ultimatepp.org/upp/trunk@2616 f0d560ea-af0d-0410-9eb7-867de7ffcac7
2010-08-17 11:17:16 +00:00

35 lines
912 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((int)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