def vacancy_selected
bendvy-ecs-core@0.1.0.3 · chunk_column.bend:68
import bendvy-ecs-core@0.1.0.3/chunk_column.bend as ChunkColumn
import Base
68def vacancy_selected(-S:Data,-C:Type,column:Column<S,C>,+index:U32,selected:Bool) -> Column<S,C> & Maybe<&2,Bool>:
69 match column selected:
70 case column False{}:(column,None{})
71 case Leaf{values,stamps} True{}:vacancy_values(S,C,stamps,index,Array.size(Maybe<&1,C>,values))
72 case Branch{+half,left,right} True{}:vacancy_join(S,C,half,vacancy_selected(S,C,left,index,U32.is_lt(index,half)),vacancy_selected(S,C,right,U32.sub(index,half),Bool.not(U32.is_lt(index,half))))