diff options
author | Pixel <Pixel> | 2002-07-21 11:12:13 +0000 |
---|---|---|
committer | Pixel <Pixel> | 2002-07-21 11:12:13 +0000 |
commit | 6528f07c516efe4d3b344f01740067878d5d9a43 (patch) | |
tree | f097e6797752dffe7b498a4f153e83bdeb59f024 /includes/Buffer.h | |
parent | b54786a5120b48bd98fc4b199176d45bda3c2d67 (diff) |
Hello Baltisot
Diffstat (limited to 'includes/Buffer.h')
-rw-r--r-- | includes/Buffer.h | 37 |
1 files changed, 37 insertions, 0 deletions
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 <zlib.h> +#include <Exceptions.h> +#include <Handle.h> + +#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 |