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 
21 class RUDIMENTS_DLLSPEC bytebuffer : public output {
22  public:
23 
26  bytebuffer();
27 
30  bytebuffer(size_t initialsize, size_t increment);
31 
38  bytebuffer(unsigned char *initialcontents,
39  size_t initialsize, size_t increment);
40 
43  bytebuffer(const bytebuffer &v);
44 
47  bytebuffer &operator=(const bytebuffer &v);
48 
50  virtual ~bytebuffer();
51 
57  void setPosition(size_t pos);
58 
61  size_t getPosition();
62 
71  ssize_t write(const unsigned char *data, size_t size);
72 
80  ssize_t write(const char *string);
81 
90  ssize_t write(const char *string, size_t size);
91 
99  ssize_t write(char character);
100 
108  ssize_t write(int16_t number);
109 
117  ssize_t write(int32_t number);
118 
126  ssize_t write(int64_t number);
127 
135  ssize_t write(unsigned char character);
136 
144  ssize_t write(uint16_t number);
145 
153  ssize_t write(uint32_t number);
154 
162  ssize_t write(uint64_t number);
163 
171  ssize_t write(float number);
172 
180  ssize_t write(double number);
181 
185  ssize_t writeFormatted(const char *format, ...);
186 
193  ssize_t writeFormatted(const char *format, va_list *argp);
194 
195 
202  bytebuffer *append(const unsigned char *data, size_t size);
203 
209  bytebuffer *append(const char *string);
210 
217  bytebuffer *append(const char *string, size_t size);
218 
224  bytebuffer *append(char character);
225 
231  bytebuffer *append(int16_t number);
232 
238  bytebuffer *append(int32_t number);
239 
245  bytebuffer *append(int64_t number);
246 
252  bytebuffer *append(unsigned char character);
253 
259  bytebuffer *append(uint16_t number);
260 
266  bytebuffer *append(uint32_t number);
267 
273  bytebuffer *append(uint64_t number);
274 
280  bytebuffer *append(float number);
281 
287  bytebuffer *append(double number);
288 
292  bytebuffer *appendFormatted(const char *format, ...);
293 
300  bytebuffer *appendFormatted(const char *format,
301  va_list *argp);
302 
304  virtual void truncate(size_t pos);
305 
307  virtual void truncate();
308 
309 
313  ssize_t read(unsigned char *data, size_t size);
314 
316  void clear();
317 
319  const unsigned char *getBuffer();
320 
323  size_t getSize();
324 
327  size_t getEnd();
328 
332  size_t getActualSize();
333 
341  unsigned char *detachBuffer();
342 
343  #include <rudiments/private/bytebuffer.h>
344 };
345 
346 #endif
Definition: character.h:11
Definition: bytebuffer.h:21
Definition: output.h:9