View source code
Display the source code in std/outbuffer.d from which thispage was generated on github.
Report a bug
If you spot a problem with this page, click here to create aBugzilla issue.
Improve this page
Quickly fork, edit online, and submit a pull request for this page.Requires a signed-in GitHub account. This works well for small changes.If you'd like to make larger changes you may want to consider usinglocal clone.
Function std.outbuffer.OutBuffer.alignSize
Append bytes until the buffer aligns on a power of 2 boundary.
void alignSize(
ulong alignsize,
ubyte val = cast(ubyte)0u
) pure nothrow @safe;
By default fills with 0 bytes.
Parameters
Name | Description |
---|---|
alignsize | Alignment value. Must be power of 2. |
val | Value to fill, defaults to 0. |
Example
OutBuffer buf = new OutBuffer();
buf .write(cast(ubyte) 1);
buf .align2();
writeln(buf .toBytes()); // "\x01\x00"
buf .write(cast(ubyte) 2);
buf .align4();
writeln(buf .toBytes()); // "\x01\x00\x02\x00"
buf .write(cast(ubyte) 3);
buf .alignSize(8);
writeln(buf .toBytes()); // "\x01\x00\x02\x00\x03\x00\x00\x00"
Example
ditto
OutBuffer buf = new OutBuffer();
buf .write(cast(ubyte) 1);
buf .align2(0x55);
writeln(buf .toBytes()); // "\x01\x55"
buf .write(cast(ubyte) 2);
buf .align4(0x55);
writeln(buf .toBytes()); // "\x01\x55\x02\x55"
buf .write(cast(ubyte) 3);
buf .alignSize(8, 0x55);
writeln(buf .toBytes()); // "\x01\x55\x02\x55\x03\x55\x55\x55"
Authors
License
Copyright © 1999-2025 by the D Language Foundation | Page generated by ddox.