00001 #ifndef _WINC_BUFFER
00002 #define _WINC_BUFFER
00003
00004 namespace WXP {
00005 class Buffer {
00006 int size;
00007 int max;
00008 int ind;
00009 unsigned char *data;
00011 public:
00012 int initClass();
00013 int init( int rsize );
00014 Buffer();
00015 Buffer(int rsize);
00016 ~Buffer();
00017 Buffer( const Buffer &data );
00018 Buffer operator=( const Buffer &data );
00019 int copy( const Buffer &data );
00020 int clear();
00021 int resize( int rsize );
00022 int check( int rsize );
00023 int add( unsigned char *dat, int rsize );
00024 int insert( int loc, unsigned char *dat, int rsize );
00026 inline const unsigned char *get(){ return data+ind; };
00027 unsigned char get( int ind );
00028 int clearUsed();
00029 int inc( int num );
00030 int trunc( int num );
00031 int equal( int off, const char *str );
00033 inline int getInd() { return ind; };
00035 inline int getSize() { return size; };
00037 inline int getAvail() { return size-ind; };
00039 inline int getMax() { return max; };
00040 int print();
00041 int dump( int off, int num );
00043 inline int dump( int num ){ return dump( 0, num ); };
00045 inline int dump(){ return dump( 0, size ); };
00046
00047 friend class File;
00048 friend class Zlib;
00049 friend class BZlib;
00050 };
00051 }
00052 #endif