Rudiments
bytebuffer.h
1 // Copyright (c) 2002 David Muse
2 // See the COPYING file for more information.
3 
4 #ifndef RUDIMENTS_BYTEBUFFER_H
5 #define RUDIMENTS_BYTEBUFFER_H
6 
7 #include <rudiments/private/bytebufferincludes.h>
8 
13 class RUDIMENTS_DLLSPEC bytebuffer : public output {
14  public:
15 
18  bytebuffer();
19 
22  bytebuffer(size_t initialsize);
23 
28  bytebuffer(unsigned char *initialcontents, size_t initialsize);
29 
32  bytebuffer(const bytebuffer &v);
33 
36  bytebuffer &operator=(const bytebuffer &v);
37 
39  virtual ~bytebuffer();
40 
46  void setPosition(size_t pos);
47 
50  size_t getPosition();
51 
60  ssize_t write(const unsigned char *data, size_t size);
61 
70  ssize_t write(const char *string, size_t size);
71 
79  ssize_t write(const char *string);
80 
88  ssize_t write(char character);
89 
97  ssize_t write(int16_t number);
98 
106  ssize_t write(int32_t number);
107 
115  ssize_t write(int64_t number);
116 
124  ssize_t write(unsigned char character);
125 
133  ssize_t write(uint16_t number);
134 
142  ssize_t write(uint32_t number);
143 
151  ssize_t write(uint64_t number);
152 
160  ssize_t write(float number);
161 
169  ssize_t write(double number);
170 
174  ssize_t writeFormatted(const char *format, ...);
175 
182  ssize_t writeFormatted(const char *format, va_list *argp);
183 
184 
191  bytebuffer *append(const unsigned char *data, size_t size);
192 
199  bytebuffer *append(const char *string, size_t size);
200 
206  bytebuffer *append(const char *string);
207 
213  bytebuffer *append(char character);
214 
220  bytebuffer *append(int16_t number);
221 
227  bytebuffer *append(int32_t number);
228 
234  bytebuffer *append(int64_t number);
235 
241  bytebuffer *append(unsigned char character);
242 
248  bytebuffer *append(uint16_t number);
249 
255  bytebuffer *append(uint32_t number);
256 
262  bytebuffer *append(uint64_t number);
263 
269  bytebuffer *append(float number);
270 
276  bytebuffer *append(double number);
277 
281  bytebuffer *appendFormatted(const char *format, ...);
282 
289  bytebuffer *appendFormatted(const char *format,
290  va_list *argp);
291 
293  virtual void truncate(size_t pos);
294 
296  virtual void truncate();
297 
298 
302  ssize_t read(unsigned char *data, size_t size);
303 
305  void clear();
306 
309  void clear(size_t initialsize);
310 
315  void clear(unsigned char *initialcontents,
316  size_t initialsize);
317 
319  const unsigned char *getBuffer();
320 
323  size_t getSize();
324 
328  size_t getActualSize();
329 
331  size_t getInitialSize();
332 
340  unsigned char *detachBuffer();
341 
342  #include <rudiments/private/bytebuffer.h>
343 };
344 
345 #endif
Definition: character.h:11
Definition: bytebuffer.h:13
Definition: output.h:9