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.h2
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
9class CBufferBase 9class 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
26template<class T> 26template<class T>
27class CBufferFace 27class 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
52typedef CBufferFace<tchar> CBuffer; 52typedef CBufferFace<tchar> CBuffer;
53typedef CBufferFace<size_t> CSizeBuffer; 53typedef CBufferFace<unsigned long> CSizeBuffer;
54 54
55#endif 55#endif