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))))

Uses (12)

Used by (1)