TypedVector
Defined in: packages/data/src/storage/typed-vector.ts:47
A growable vector over a fixed-size typed array.
RingVector boxes every element into a generic T slot; this holds raw
numbers in an Int32Array, Float64Array or similar, so a million elements
cost a million machine words rather than a million pointers plus a million
heap-allocated numbers.
Build it for the memory, not for the speed. What this wins is footprint and cache locality on large numeric collections, which matters at a scale where the per-element constant does not.
Growth doubles the backing and copies, so pushBack is O(1) amortised. The
copy uses TypedArray.prototype.set, a single bulk move rather than a JS
loop.
Only back-end operations are declared: a front-end insert on a flat array is
O(n), so IPushFront is deliberately absent. Use RingVector when both ends
are needed.
Type Parameters
Section titled “Type Parameters”C extends TypedArrayConstructor
The typed-array constructor, e.g. Float64Array.
Implements
Section titled “Implements”IStorage<number>
Constructors
Section titled “Constructors”Constructor
Section titled “Constructor”new TypedVector<
C>(arrayType,iterable?,options?):TypedVector<C>
Defined in: packages/data/src/storage/typed-vector.ts:53
Parameters
Section titled “Parameters”arrayType
Section titled “arrayType”C
iterable?
Section titled “iterable?”Iterable<number, any, any>
options?
Section titled “options?”Returns
Section titled “Returns”TypedVector<C>
Accessors
Section titled “Accessors”physicalLength
Section titled “physicalLength”Get Signature
Section titled “Get Signature”get physicalLength():
number
Defined in: packages/data/src/storage/typed-vector.ts:82
Slots allocated, not elements held.
Returns
Section titled “Returns”number
Methods
Section titled “Methods”[iterator]()
Section titled “[iterator]()”[iterator]():
Iterator<number>
Defined in: packages/data/src/storage/typed-vector.ts:86
Returns
Section titled “Returns”Iterator<number>
Implementation of
Section titled “Implementation of”back()
Section titled “back()”back():
number|undefined
Defined in: packages/data/src/storage/typed-vector.ts:156
O(1).
Returns
Section titled “Returns”number | undefined
clear()
Section titled “clear()”clear():
void
Defined in: packages/data/src/storage/typed-vector.ts:96
Returns
Section titled “Returns”void
Implementation of
Section titled “Implementation of”count()
Section titled “count()”count():
number
Defined in: packages/data/src/storage/typed-vector.ts:92
Returns
Section titled “Returns”number
Implementation of
Section titled “Implementation of”get(
index):number|undefined
Defined in: packages/data/src/storage/typed-vector.ts:101
O(1). Out of range returns undefined rather than throwing.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”number | undefined
popBack()
Section titled “popBack()”popBack():
number|undefined
Defined in: packages/data/src/storage/typed-vector.ts:143
O(1).
Returns
Section titled “Returns”number | undefined
pushBack()
Section titled “pushBack()”pushBack(
item):void
Defined in: packages/data/src/storage/typed-vector.ts:123
O(1) amortised.
Parameters
Section titled “Parameters”number
Returns
Section titled “Returns”void
pushBackAll()
Section titled “pushBackAll()”pushBackAll(
items):void
Defined in: packages/data/src/storage/typed-vector.ts:131
O(n) in the number of items, with one bulk copy and at most one growth.
Parameters
Section titled “Parameters”readonly number[]
Returns
Section titled “Returns”void
set(
index,item):void
Defined in: packages/data/src/storage/typed-vector.ts:114
O(1).
Parameters
Section titled “Parameters”number
number
Returns
Section titled “Returns”void
Throws
Section titled “Throws”If index is outside 0 .. count() - 1.
toTypedArray()
Section titled “toTypedArray()”toTypedArray():
InstanceType<C>
Defined in: packages/data/src/storage/typed-vector.ts:166
A copy of the elements held, as a typed array of the vector’s own type.
A copy rather than a view, so later growth cannot leave the caller holding a window onto a detached buffer.
Returns
Section titled “Returns”InstanceType<C>