No matching definitions.

ecs/sparse

src/ecs/sparse.tur

sparse storage keyed by entity index (Robin Hood).

Since: E1' (initial linear-probe version); rewritten to Robin Hood E1' patch 1.

defopaque

Sparse

(Sparse [A] :int))
defn

sparse-new

(sparse-new [A])

allocate an empty sparse storage. Returns a `(Sparse A)`.

Since: E1' (returned :int); E2d-P1 (returns (Sparse A))

defn

sparse-len

(sparse-len [A])

live entry count.

Since: E1'

defn

sparse-has?

(sparse-has? [A])

is there an entry at this entity index? Short-circuits

Since: E1'

defn

sparse-set!

(sparse-set! [A])

write a value at entity index idx (Robin Hood insert).

Since: E1'

defn

sparse-get

(sparse-get [A])

int-carrier read (raw ints / opaques / pointers).

Since: E1'

defn

sparse-del!

(sparse-del! [A])

remove the entry at idx (returns false if absent).

Since: E1'

defn

sparse-free

(sparse-free [A])

release backing arrays.

Since: E1'