View source code
Display the source code in std/bitmanip.d from which this page was generated on
github.
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 using
local clone.
Page wiki
View or edit the community-maintained wiki page associated with this page.
Function std.bitmanip.read
Takes a range
of ubyte
s and converts the first T.sizeof
bytes to
T
. The value returned is converted from the given endianness to the
native endianness. The T.sizeof
bytes which are read
are consumed from
the range
.
Prototype
T read(T, std.system.Endian endianness, R)( R range ) if (canSwapEndianness!T && isInputRange!R && is(ElementType!R : const(ubyte)));
Parameters
Name | Description |
---|---|
T | The integral type to convert the first T.sizeof bytes to. |
endianness | The endianness that the bytes are assumed to be in. |
range | The range to read from. |
Example
ubyte[] buffer = [1, 5, 22, 9, 44, 255, 8]; assert(buffer.length == 7); assert(buffer.read!ushort() == 261); assert(buffer.length == 5); assert(buffer.read!uint() == 369700095); assert(buffer.length == 1); assert(buffer.read!ubyte() == 8); assert(buffer.empty);
Authors
Walter Bright, Andrei Alexandrescu, Jonathan M Davis, Alex Rønne Petersen, Damian Ziemba Amaury SECHET