jedioutcast/CODE-mp/encryption/buffer.h
2013-04-04 13:01:17 -05:00

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