summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-reader/CBuffer.h
Unidiff
Diffstat (limited to 'noncore/apps/opie-reader/CBuffer.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-reader/CBuffer.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/noncore/apps/opie-reader/CBuffer.h b/noncore/apps/opie-reader/CBuffer.h
new file mode 100644
index 0000000..9807d27
--- a/dev/null
+++ b/noncore/apps/opie-reader/CBuffer.h
@@ -0,0 +1,45 @@
1#ifndef __CBUFFER_H
2#define __CBUFFER_H
3
4#include <stdlib.h>
5#include <string.h>
6#include "config.h"
7
8class CBuffer
9{
10 size_t len;
11 tchar *buffer;
12 CBuffer(const CBuffer&);
13 public:
14 CBuffer& operator=(const tchar*sztmp);
15#ifdef _UNICODE
16 size_t length() { return ustrlen(buffer); }
17#else
18 size_t length() { return strlen(buffer); }
19#endif
20 tchar* data() { return buffer; }
21 CBuffer(size_t n = 16) : len(n)
22 {
23 buffer = new tchar[len];
24 buffer[0] = '\0';
25 }
26 ~CBuffer() { delete [] buffer; }
27 tchar& operator[](int i);
28};
29
30class CSizeBuffer
31{
32 size_t len;
33 size_t *buffer;
34 CSizeBuffer(const CSizeBuffer&);
35 public:
36 size_t* data() { return buffer; }
37 CSizeBuffer(size_t n = 16) : len(n)
38 {
39 buffer = new size_t[len];
40 }
41 ~CSizeBuffer() { delete [] buffer; }
42 size_t& operator[](int i);
43};
44
45#endif