00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 #ifndef _BUFFER_H_
00036 #define _BUFFER_H_
00037
00038 #include "../main/includes.h"
00039 #include "../string/string.h"
00040
00058 class Buffer {
00059
00061 enum e {
00062
00064 RESERVED = 50
00065 };
00066
00067 private:
00068
00070 char* _buf;
00071
00073 jint _size;
00074
00076 jint _bufSize;
00077
00078 public:
00079
00081 Buffer() :
00082
00083 _buf( NULL),
00084 _size( 0),
00085 _bufSize( 0)
00086
00087 {}
00088
00090 Buffer( const Buffer& b);
00091
00099 Buffer( const char* buf, jint size);
00100
00102 ~Buffer() { if( _buf) delete[] _buf;}
00103
00109 const char* getBuffer() const { return _buf;}
00110
00117 jint getSize() const { return _size;}
00118
00122 void clear() { _size = 0;}
00123
00129 void clear( jint newBufSize);
00130
00136 void operator+=( const String& s);
00137
00144 void operator+=( const jint c);
00145
00155 void operator+=( const jlong c);
00156
00165 void operator=( const Buffer& b);
00166
00167 private:
00168
00174 void reallocate( jint newBufSize);
00175 };
00176
00177 #endif // _BUFFER_H_