CharBuffer.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef __BUFFER_H__
00019 #define __BUFFER_H__
00020
00021 #include <stdint.h>
00022 #include "InputFile.h"
00023
00024 class CharBuffer
00025 {
00026 public:
00027 CharBuffer();
00028 CharBuffer(int32_t initialSize);
00029 ~CharBuffer();
00030
00031
00032 CharBuffer(const CharBuffer& buffer);
00033
00034
00035 CharBuffer& operator = (const CharBuffer& buffer);
00036
00037
00038 CharBuffer& operator = (const std::string& stringBuffer);
00039
00040
00041 bool copy(const CharBuffer& buffer);
00042
00043 void reset();
00044
00045
00046
00047 int readFromFile(IFILE filePtr, int32_t length);
00048
00049 inline const char* c_str() const
00050 {
00051 return(myBuffer);
00052 }
00053
00054 inline int32_t length() const
00055 {
00056 return(myBufferLen);
00057 }
00058
00059 private:
00060
00061 bool prepareNewLength(int32_t newLen);
00062
00063 int32_t myBufferLen;
00064 char* myBuffer;
00065
00066 int32_t myBufferAllocatedLen;
00067
00068 static const int32_t DEFAULT_BUFFER_SIZE = 100;
00069 };
00070
00071 #endif
00072