std/core/bytes▲toc

Byte sequences.

.

fun list/join( bss : liststd/core/types/list: V -> V<bytesstd/core/types/bytes: V> ) : bytesstd/core/types/bytes: V

Concatenate a list of bytes.

fun list/string( bs : liststd/core/types/list: V -> V<bytesstd/core/types/bytes: V> ) : stringstd/core/types/string: V

Join a list of utf-8 bytes into a string. Ensures that utf-8 sequences that are split over different bytes are handled correctly.

fun string/bytes( s : stringstd/core/types/string: V ) : bytesstd/core/types/bytes: V

Convert a string to a sequence of utf-8 encoded bytes.

fun vector/bytes( v : vectorstd/core/types/vector: V -> V<intstd/core/types/int: V> ) : bytesstd/core/types/bytes: V

Convert a vector of integers to bytes (by clamping between 0 and 255).

fun vector/join( bss : vectorstd/core/types/vector: V -> V<bytesstd/core/types/bytes: V> ) : bytesstd/core/types/bytes: V

Concatenate a vector of bytes.

fun (++)( b1 : bytesstd/core/types/bytes: V, b2 : bytesstd/core/types/bytes: V ) : bytesstd/core/types/bytes: V

Concatenates two byte arrays.

fun adjust-length( bs : bytesstd/core/types/bytes: V, newlen : intstd/core/types/int: V ) : bytesstd/core/types/bytes: V

Adjust the length of the bytes. If enlarged, the added bytes are initialized to zero.

fun assign( bs : bytesstd/core/types/bytes: V, i : intstd/core/types/int: V, value : intstd/core/types/int: V ) : exnstd/core/exn/exn: (E, V) -> V bytesstd/core/types/bytes: V

Assign a (clamped) byte value at index i. Throws on out-of-bound.

fun bytes( len : intstd/core/types/int: V ) : bytesstd/core/types/bytes: V

Create len new zero-initialized bytes.

val empty: bytesstd/core/types/bytes: V
fun foreach( bytes : bytesstd/core/types/bytes: V, f : (intstd/core/types/int: V) -> e () ) : e ()

Iterate through the bytes.

fun is-empty( bs : bytesstd/core/types/bytes: V ) : boolstd/core/types/bool: V

Are the bytes empty?

fun length( bs : bytesstd/core/types/bytes: V ) : intstd/core/types/int: V

The count of bytes.

fun list( bytes : bytesstd/core/types/bytes: V ) : liststd/core/types/list: V -> V<intstd/core/types/int: V>

Convert bytes to a list of integers (between 0 and 255).

fun partial-string( b : bytesstd/core/types/bytes: V, previous-post : ? bytesstd/core/types/bytes: V ) : (stringstd/core/types/string: V, bytesstd/core/types/bytes: V)

Convert a sequence of qutf-8 bytes to a string. Take a potential previous-post previous uncompleted utf-8 code point (of at most 3 bytes) (in case the full byte sequence was split over a utf-8 code point). Returns the qutf-8 decoded string and also potential left-over bytes for a final uncompleted utf-8 code point (of at most 3 bytes).

fun show( bytes : bytesstd/core/types/bytes: V ) : stringstd/core/types/string: V

Show bytes as a hexadecimal sequence.

fun string( bytes : bytesstd/core/types/bytes: V ) : stringstd/core/types/string: V

Converts a sequence of qutf-8 bytes to a string.

fun subbytes( bs : bytesstd/core/types/bytes: V, start : ? intstd/core/types/int: V, len : ? intstd/core/types/int: V ) : bytesstd/core/types/bytes: V

Return a range of len bytes starting at start. If len < 0, it copies all bytes from start to the end (bs.length (-)std/core/int/(-): (x : int, y : int) -> int start).

fun substring( b : bytesstd/core/types/bytes: V, start : ? intstd/core/types/int: V, len : ? intstd/core/types/int: V ) : stringstd/core/types/string: V

Return a range of utf-8 encoded bytes as qutf-8.

fun subvector( bytes : bytesstd/core/types/bytes: V, start : ? intstd/core/types/int: V, len : ? intstd/core/types/int: V ) : vectorstd/core/types/vector: V -> V<intstd/core/types/int: V>

Convert a range of bytes to vector of integers. Individual bytes are interpreted as uint8std/core/types/uint8: V.

fun unsafe-assign( b : bytesstd/core/types/bytes: V, i : ssize_tstd/core/types/ssize_t: V, value : uint8std/core/types/uint8: V ) : bytesstd/core/types/bytes: V

Assigns the byte at offset i to value. Does not check the bounds!

fun unsafe-bytes( len : intstd/core/types/int: V ) : bytesstd/core/types/bytes: V

Create len uninitialized bytes.

fun unsafe-index( ^b : bytesstd/core/types/bytes: V, i : ssize_tstd/core/types/ssize_t: V ) : uint8std/core/types/uint8: V

Get's the byte at the offset i, without checking the offset is valid.

fun vector( bytes : bytesstd/core/types/bytes: V ) : vectorstd/core/types/vector: V -> V<intstd/core/types/int: V>

Convert bytes to vector of integers (between 0 and 255).

private import std/core/typesstd/core/types, std/core/exnstd/core/exn, std/core/boolstd/core/bool, std/core/intstd/core/int, std/core/showstd/core/show, std/core/vectorstd/core/vector, std/core/stringstd/core/string, std/core/liststd/core/list, std/core/hndstd/core/hnd