Diffstat (limited to 'noncore/apps/opie-reader/CBuffer.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/apps/opie-reader/CBuffer.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/noncore/apps/opie-reader/CBuffer.h b/noncore/apps/opie-reader/CBuffer.h index 252f3ac..7070499 100644 --- a/noncore/apps/opie-reader/CBuffer.h +++ b/noncore/apps/opie-reader/CBuffer.h | |||
@@ -5,51 +5,51 @@ | |||
5 | #include <string.h> | 5 | #include <string.h> |
6 | #include "config.h" | 6 | #include "config.h" |
7 | 7 | ||
8 | 8 | ||
9 | class CBufferBase | 9 | class CBufferBase |
10 | { | 10 | { |
11 | protected: | 11 | protected: |
12 | size_t len; | 12 | size_t len; |
13 | unsigned char *buffer; | 13 | unsigned char *buffer; |
14 | size_t membersize; | 14 | size_t membersize; |
15 | CBufferBase(const CBufferBase&); | 15 | CBufferBase(const CBufferBase&); |
16 | public: | 16 | public: |
17 | CBufferBase& assign(const void* sztmp, size_t ms); | 17 | CBufferBase& assign(const void* sztmp, size_t ms); |
18 | void* data() { return buffer; } | 18 | void* data() { return buffer; } |
19 | CBufferBase(size_t ms, size_t n = 16); | 19 | CBufferBase(size_t ms, size_t n = 16); |
20 | ~CBufferBase() { delete [] buffer; } | 20 | ~CBufferBase() { delete [] buffer; } |
21 | void* operator[](int i); | 21 | void* operator[](int i); |
22 | size_t bstrlen(unsigned char* _buffer = NULL); | 22 | size_t bstrlen(unsigned char* _buffer = NULL); |
23 | size_t totallen() { return len; } | 23 | size_t totallen() { return len; } |
24 | }; | 24 | }; |
25 | 25 | ||
26 | template<class T> | 26 | template<class T> |
27 | class CBufferFace | 27 | class CBufferFace |
28 | { | 28 | { |
29 | CBufferBase m_buffer; | 29 | CBufferBase m_buffer; |
30 | protected: | 30 | protected: |
31 | CBufferFace(const CBufferFace&); | 31 | CBufferFace(const CBufferFace&); |
32 | public: | 32 | public: |
33 | CBufferFace& operator=(const T* sztmp) | 33 | CBufferFace& operator=(const T* sztmp) |
34 | { | 34 | { |
35 | m_buffer.assign(sztmp, m_buffer.bstrlen(sztmp)); | 35 | m_buffer.assign(sztmp, m_buffer.bstrlen(sztmp)); |
36 | return *this; | 36 | return *this; |
37 | } | 37 | } |
38 | void assign(const T* sztmp, size_t n) | 38 | void assign(const T* sztmp, size_t n) |
39 | { | 39 | { |
40 | m_buffer.assign(sztmp, n); | 40 | m_buffer.assign(sztmp, n); |
41 | } | 41 | } |
42 | size_t length() { return m_buffer.bstrlen(); } | 42 | size_t length() { return m_buffer.bstrlen(); } |
43 | size_t totallen() { return m_buffer.totallen(); } | 43 | size_t totallen() { return m_buffer.totallen(); } |
44 | T* data() { return (T*)m_buffer.data(); } | 44 | T* data() { return (T*)m_buffer.data(); } |
45 | CBufferFace(size_t n = 16) : m_buffer(sizeof(T), n) {} | 45 | CBufferFace(size_t n = 16) : m_buffer(sizeof(T), n) {} |
46 | T& operator[](int i) | 46 | T& operator[](int i) |
47 | { | 47 | { |
48 | return *((T*)m_buffer[i]); | 48 | return *((T*)m_buffer[i]); |
49 | } | 49 | } |
50 | }; | 50 | }; |
51 | 51 | ||
52 | typedef CBufferFace<tchar> CBuffer; | 52 | typedef CBufferFace<tchar> CBuffer; |
53 | typedef CBufferFace<size_t> CSizeBuffer; | 53 | typedef CBufferFace<unsigned long> CSizeBuffer; |
54 | 54 | ||
55 | #endif | 55 | #endif |