aboutsummaryrefslogtreecommitdiff
path: root/src/sbuffer.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2006-11-02 06:14:41 +0000
committerMike Buland <eichlan@xagasoft.com>2006-11-02 06:14:41 +0000
commitd1e486136db52b466b788c1d81a5c88b6f24acd9 (patch)
tree691724f082670407d386ab6f1e489ee766b592c9 /src/sbuffer.h
parent73cb610641b9d69aea0f75b6ccd26236e6c8c3fc (diff)
downloadlibbu++-d1e486136db52b466b788c1d81a5c88b6f24acd9.tar.gz
libbu++-d1e486136db52b466b788c1d81a5c88b6f24acd9.tar.bz2
libbu++-d1e486136db52b466b788c1d81a5c88b6f24acd9.tar.xz
libbu++-d1e486136db52b466b788c1d81a5c88b6f24acd9.zip
Added the SBuffer class, a memory buffer that can be used like a stream. Yay!
Diffstat (limited to 'src/sbuffer.h')
-rw-r--r--src/sbuffer.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/sbuffer.h b/src/sbuffer.h
new file mode 100644
index 0000000..1dda33a
--- /dev/null
+++ b/src/sbuffer.h
@@ -0,0 +1,34 @@
1#ifndef S_BUFFER_H
2#define S_BUFFER_H
3
4#include <stdint.h>
5
6#include "stream.h"
7#include "flexbuf.h"
8
9class SBuffer : public Stream
10{
11public:
12 SBuffer();
13 virtual ~SBuffer();
14
15 virtual void close();
16 virtual size_t read( char *pBuf, size_t nBytes );
17
18 /**
19 *@todo Update this to write at nPos, not just append data.
20 */
21 virtual size_t write( const char *pBuf, size_t nBytes );
22
23 virtual long tell();
24 virtual void seek( long offset );
25 virtual void setPos( long pos );
26 virtual void setPosEnd( long pos );
27
28private:
29 long nPos;
30 bool bOpen;
31 FlexBuf fbData;
32};
33
34#endif