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 
9 class bytebufferprivate;
10 
27 class RUDIMENTS_DLLSPEC bytebuffer {
28  public:
29 
32  bytebuffer(size_t initialsize, size_t increment);
33 
40  bytebuffer(unsigned char *initialcontents,
41  size_t initialsize, size_t increment);
42 
45  bytebuffer(const bytebuffer &v);
46 
49  bytebuffer &operator=(const bytebuffer &v);
50 
52  virtual ~bytebuffer();
53 
59  void setPosition(size_t pos);
60 
63  size_t getPosition();
64 
73  bytebuffer *write(const unsigned char *data, size_t size);
74 
82  bytebuffer *write(const char *string);
83 
92  bytebuffer *write(const char *string, size_t size);
93 
101  bytebuffer *write(char character);
102 
110  bytebuffer *write(int16_t number);
111 
119  bytebuffer *write(int32_t number);
120 
128  bytebuffer *write(int64_t number);
129 
137  bytebuffer *write(unsigned char character);
138 
146  bytebuffer *write(uint16_t number);
147 
155  bytebuffer *write(uint32_t number);
156 
164  bytebuffer *write(uint64_t number);
165 
173  bytebuffer *write(float number);
174 
182  bytebuffer *write(double number);
183 
187  bytebuffer *writeFormatted(const char *format, ...);
188 
195  bytebuffer *writeFormatted(const char *format,
196  va_list *argp);
197 
198 
205  bytebuffer *append(const unsigned char *data, size_t size);
206 
212  bytebuffer *append(const char *string);
213 
220  bytebuffer *append(const char *string, size_t size);
221 
227  bytebuffer *append(char character);
228 
234  bytebuffer *append(int16_t number);
235 
241  bytebuffer *append(int32_t number);
242 
248  bytebuffer *append(int64_t number);
249 
255  bytebuffer *append(unsigned char character);
256 
262  bytebuffer *append(uint16_t number);
263 
269  bytebuffer *append(uint32_t number);
270 
276  bytebuffer *append(uint64_t number);
277 
283  bytebuffer *append(float number);
284 
290  bytebuffer *append(double number);
291 
295  bytebuffer *appendFormatted(const char *format, ...);
296 
303  bytebuffer *appendFormatted(const char *format,
304  va_list *argp);
305 
307  virtual void truncate(size_t pos);
308 
310  virtual void truncate();
311 
312 
316  ssize_t read(unsigned char *data, size_t size);
317 
319  void clear();
320 
322  const unsigned char *getBuffer();
323 
326  size_t getSize();
327 
330  size_t getEnd();
331 
335  size_t getActualSize();
336 
344  unsigned char *detachBuffer();
345 
346  #include <rudiments/private/bytebuffer.h>
347 };
348 
349 #endif
Definition: character.h:11
Definition: bytebuffer.h:27