Skip to content

IBidirectionalCursorSequence

Defined in: packages/data/src/cursor/ibidirectional-cursor-sequence.ts:7

Adds the operations that need a predecessor, i.e. a back link or an index.

T extends DefinedValue = DefinedValue

C extends IBidirectionalCursor<T> = IBidirectionalCursor<T>

begin(): C

Defined in: packages/data/src/cursor/icursor-sequence.ts:17

The first element; invalid when empty.

C

ICursorSequence.begin


cursorAt(index): C

Defined in: packages/data/src/cursor/icursor-sequence.ts:23

O(1) for random-access backings, O(n) otherwise.

number

C

ICursorSequence.cursorAt


end(): C

Defined in: packages/data/src/cursor/icursor-sequence.ts:20

The past-the-end position, used to append.

C

ICursorSequence.end


insertAfter(cursor, item): void

Defined in: packages/data/src/cursor/icursor-sequence.ts:31

Inserts an item after cursor. O(1).

C

The position after which to insert.

T

The item to insert.

void

ICursorSequence.insertAfter


insertAllAfter(cursor, items): void

Defined in: packages/data/src/cursor/icursor-sequence.ts:40

Inserts every item after cursor, keeping their relative order. O(n) in the number of items.

C

The position after which to insert.

readonly T[]

The items to insert.

void

ICursorSequence.insertAllAfter


insertAllBefore(cursor, items): void

Defined in: packages/data/src/cursor/ibidirectional-cursor-sequence.ts:26

Inserts every item before cursor, keeping their relative order. O(n) in the number of items.

C

The position before which to insert.

readonly T[]

The items to insert.

void


insertBefore(cursor, item): void

Defined in: packages/data/src/cursor/ibidirectional-cursor-sequence.ts:17

Inserts an item before cursor. O(1).

C

The position before which to insert.

T

The item to insert.

void


removeAfter(cursor): T | undefined

Defined in: packages/data/src/cursor/icursor-sequence.ts:49

Removes the element after cursor. O(1). Cursors at the removed element become invalid.

C

The position before the element to remove.

T | undefined

The removed element, or undefined if there was none.

ICursorSequence.removeAfter


removeAt(cursor): T | undefined

Defined in: packages/data/src/cursor/ibidirectional-cursor-sequence.ts:35

Removes the element at cursor. O(1). Cursors at the removed element become invalid.

C

The position to remove.

T | undefined

The removed element, or undefined if cursor was not valid.


setAt(cursor, item): void

Defined in: packages/data/src/cursor/icursor-sequence.ts:57

Replaces the element at cursor.

C

The position to replace.

T

The new item.

void

ICursorSequence.setAt