D Programming Language 1.0

Last update Mon Dec 31 10:53:28 2012




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(ubyte[] bytes);
void write(ubyte b);
void write(byte b);
void write(char 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(string 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.