Seq[A: A]¶

[Source]

A sequence of elements.

``````interface ref Seq[A: A]
``````

Constructors¶

create¶

[Source]

Create a sequence, reserving space for len elements.

``````new ref create(
len: USize val = 0)
: Seq[A] ref^
``````

Public Functions¶

reserve¶

[Source]

Reserve space for len elements.

``````fun ref reserve(
len: USize val)
: None val
``````

size¶

[Source]

Returns the number of elements in the sequence.

``````fun box size()
: USize val
``````

apply¶

[Source]

Returns the i-th element of the sequence. Raises an error if the index is out of bounds.

``````fun box apply(
i: USize val)
: this->A ?
``````

• this->A ?

update¶

[Source]

Replaces the i-th element of the sequence. Returns the previous value. Raises an error if the index is out of bounds.

``````fun ref update(
i: USize val,
value: A)
: A^ ?
``````

Returns¶

• A^ ?

[Source]

Removes all elements from the sequence.

``````fun ref clear()
: None val
``````

push¶

[Source]

Adds an element to the end of the sequence.

``````fun ref push(
value: A)
: None val
``````

• value: A

pop¶

[Source]

Removes an element from the end of the sequence.

``````fun ref pop()
: A^ ?
``````

• A^ ?

unshift¶

[Source]

Adds an element to the beginning of the sequence.

``````fun ref unshift(
value: A)
: None val
``````

• value: A

shift¶

[Source]

Removes an element from the beginning of the sequence.

``````fun ref shift()
: A^ ?
``````

• A^ ?

append¶

[Source]

Add len elements to the end of the list, starting from the given offset.

``````fun ref append(
offset: USize val = 0,
len: USize val = call)
: None val
``````

concat¶

[Source]

Add len iterated elements to the end of the list, starting from the given offset.

``````fun ref concat(
iter: Iterator[A^] ref,
offset: USize val = 0,
len: USize val = call)
: None val
``````

truncate¶

[Source]

Truncate the sequence to the given length, discarding excess elements. If the sequence is already smaller than len, do nothing.

``````fun ref truncate(
len: USize val)
: None val
``````

values¶

[Source]

Returns an iterator over the elements of the sequence.

``````fun box values()
: Iterator[this->A] ref^
``````