The D Programming Language
License
Boost License 1.0.
Authors
Walter Bright
Source:
std/outbuffer.d

class  OutBuffer;

 OutBuffer provides a way to build up an array of bytes out of raw data. It is useful for things like preparing an array of bytes to write out to a file.  OutBuffer's byte order is the format native to the computer. To control the byte order (endianness), use a class derived from  OutBuffer.


ubyte[]  toBytes();

Convert to array of bytes.


void  reserve(size_t nbytes);

Preallocate nbytes more to the size of the internal buffer.

This is a speed optimization, a good guess at the maximum size of the resulting buffer will improve performance by eliminating reallocations and copying.


void  write(const(ubyte)[] bytes);
void  write(ubyte b);
void  write(byte b);
void  write(char c);
void  write(dchar c);
void  write(ushort w);
void  write(short s);
void  write(wchar c);
void  write(uint w);
void  write(int i);
void  write(ulong l);
void  write(long l);
void  write(float f);
void  write(double f);
void  write(real f);
void  write(in char[] s);
void  write(OutBuffer buf);

Append data to the internal buffer.


void  fill0(size_t nbytes);

Append nbytes of 0 to the internal buffer.


void  alignSize(size_t alignsize);

0-fill to align on power of 2 boundary.


void  align2();

Optimize common special case alignSize(2)


void  align4();

Optimize common special case alignSize(4)


string  toString();

Convert internal buffer to array of chars.


void  vprintf(string format, va_list args);

Append output of C's  vprintf() to internal buffer.


void  printf(string format, ...);

Append output of C's  printf() to internal buffer.


void  spread(size_t index, size_t nbytes);

At offset index into buffer, create nbytes of space by shifting upwards all data past index.