Variable length byte arrays, with methods for basic pickling and unpickling.
Constructors
Members
Pickle = majorVersion_Nat minorVersion_Nat nbEntries_Nat {Entry} Entry = type_Nat length_Nat [actual entries]
Assumes that the ..Version_Nat are already...
Pickle = majorVersion_Nat minorVersion_Nat nbEntries_Nat {Entry} Entry = type_Nat length_Nat [actual entries]
Assumes that the ..Version_Nat are already consumed.
Double bytes array
Double bytes array
Write a natural number x
at position pos
.
If number is more than one byte, shift rest of array to make space.
Write a natural number x
at position pos
.
If number is more than one byte, shift rest of array to make space.
Peek at the current byte without moving the read index
Peek at the current byte without moving the read index
Read a byte
Read a byte
Read a long number in signed big endian format, base 256.
Read a long number in signed big endian format, base 256.
Read a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.
Read a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.
Perform operation op
the number of
times specified. Concatenate the results into a list.
Perform operation op
the number of
times specified. Concatenate the results into a list.
Returns the buffer as a sequence of (Int, Array[Byte]) representing (tag, data) of the individual entries. Saves and restores buffer state.
Returns the buffer as a sequence of (Int, Array[Byte]) representing (tag, data) of the individual entries. Saves and restores buffer state.
Perform operation op
until the condition
readIndex == end
is satisfied.
Concatenate results into a list.
Perform operation op
until the condition
readIndex == end
is satisfied.
Concatenate results into a list.
Write a byte of data
Write a byte of data
Write a long number x
in signed big endian format, base 256.
Write a long number x
in signed big endian format, base 256.
Like writeNat, but for longs. This is not the same as writeLong, which writes in base 256. Note that the binary representation of LongNat is identical t...
Like writeNat, but for longs. This is not the same as writeLong, which writes in base 256. Note that the binary representation of LongNat is identical to Nat if the long value is in the range Int.MIN_VALUE to Int.MAX_VALUE.
Write a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.
Write a natural number in big endian format, base 128. All but the last digits have bit 0x80 set.