def trim_step_generic

bendvy-ecs-core@0.1.0.3 · machine_stream_queue.bend:35

import bendvy-ecs-core@0.1.0.3/machine_stream_queue.bend as MachineStreamQueue
import Base

35def trim_step_generic(-E: Data,remove: Bool,+tick: Nat,+count: Nat,+items: List<&2,E>,+rest: List<&2,Batch<E>>,+back: List<&2,Batch<E>>,+size: Nat,+dropped: Nat,+batches:Nat,ih: Queue<E> -> Queue<E>) -> Queue<E>:
36  match remove:
37    case False{}: Queue{Batch{tick,count,items} <> rest,back,size,dropped,batches}
38    case True{}: ih(Queue{rest,back,Nat.sub(size,count),Nat.max(dropped,tick),Nat.sub(batches,1n)})

Uses (7)

Used by (3)