From 6528f07c516efe4d3b344f01740067878d5d9a43 Mon Sep 17 00:00:00 2001 From: Pixel Date: Sun, 21 Jul 2002 11:12:13 +0000 Subject: Hello Baltisot --- includes/Buffer.h | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 includes/Buffer.h (limited to 'includes/Buffer.h') diff --git a/includes/Buffer.h b/includes/Buffer.h new file mode 100644 index 0000000..79d0e02 --- /dev/null +++ b/includes/Buffer.h @@ -0,0 +1,37 @@ +#ifndef __BUFFER_H__ +#define __BUFFER_H__ +#ifdef __cplusplus + +#include +#include +#include + +#ifndef realloc_threshold +#define realloc_threshold 256 +#endif + +class Buffer : public Handle { + public: + Buffer(); + Buffer(const Buffer &); + virtual ~Buffer(); + virtual ssize_t write(const void *buf, size_t count) throw(GeneralException); + virtual ssize_t read(void *buf, size_t count) throw (GeneralException); + virtual bool CanRead(); + virtual bool CanWrite(); + virtual String GetName(); + virtual Buffer operator=(const Buffer &); + virtual bool CanWatch(); + virtual ssize_t GetSize(); + char operator[](size_t) const; + char & operator[](size_t); + + private: + char * buffer, zero; + size_t realsiz, bufsiz, ptr; +}; + +#else +#error This only works with a C++ compiler +#endif +#endif -- cgit v1.2.3