read

Takes a range of ubytes 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.

T
read
(
T
Endian endianness = Endian.bigEndian
R
)
(
ref R range
)
if (
canSwapEndianness!T &&
&&
is(ElementType!R : const ubyte)
)

Parameters

T

The integral type to convert the first T.sizeof bytes to.

endianness

The endianness that the bytes are assumed to be in.

range R

The range to read from.

Examples

import std.range.primitives : empty;
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);

Meta