37 lines
No EOL
868 B
C++
37 lines
No EOL
868 B
C++
#ifndef __BUFFER_H
|
|
#define __BUFFER_H
|
|
|
|
extern const int BufferIncrease;
|
|
|
|
class cBuffer
|
|
{
|
|
private:
|
|
char *Buffer;
|
|
int Size, ActualSize, Pos;
|
|
bool FreeNextAdd;
|
|
int Increase;
|
|
|
|
public:
|
|
cBuffer(int InitIncrease = BufferIncrease);
|
|
~cBuffer(void) { Free(); }
|
|
|
|
const char *Get(void) { return Buffer; }
|
|
const char *GetWithPos(void) { return Buffer + Pos; }
|
|
const int GetSize(void) { return Size; }
|
|
const int GetRemaining(void) { return Size - Pos; }
|
|
|
|
void FreeBeforeNextAdd(void) { FreeNextAdd = true; }
|
|
void ResetPos(void) { Pos = 0; }
|
|
void ResetSize(void) { Size = 0; }
|
|
|
|
char *Add(char *Data, int Amount);
|
|
void Read(void);
|
|
char *Read(int Amount);
|
|
bool ValidPos(void) { return (Pos < Size); }
|
|
|
|
size_t strcspn(const char *notin);
|
|
|
|
void Free(void);
|
|
};
|
|
|
|
#endif // __BUFFER_H
|