def indexed_grow

bendvy-ecs-core@0.1.0.3 · column.bend:65

import bendvy-ecs-core@0.1.0.3/column.bend as Column
import Base
import indexed_lifecycle.bend as M

65def indexed_grow(~S:Data,~C:Type,fuel:Nat,values:Array<Maybe<&1,C>>,metadata:M.Metadata,+size:U32,+depth:Nat,+target:U32,enough:Bool) -> Column<S,C>:
66  match fuel enough:
67    case _ True{}: indexed_wrap(~S,~C,values,metadata)
68    case 0n False{}: indexed_wrap(~S,~C,values,metadata)
69    case 1n+rest False{}:
70      +next = U32.shl(size)
71      indexed_grow(~S,~C,rest,ANode{values,absent(~C,depth)},metadata,next,1n+depth,target,U32.is_le(target,next))

Uses (11)

Used by (1)