def swap

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

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

344def swap(~S: Data, ~C: Type, column: Column<S,C>, +id: U32, incoming: Maybe<&1,C>) -> SwapOutcome<S,C>:
345  match column:
346    case Column{values,stamps}: swap_sized(~S,~C,id,incoming,stamps,Array.size(Maybe<&1,C>,values))
347    case Prepared{carrier}: swap_state(~S,~C,id,incoming,unseal(~S,~C,carrier))
348    case Indexed{carrier}: indexed_swap_state(~S,~C,id,incoming,indexed_unseal(~S,~C,carrier))
349    case PreparedIndexed{carrier}: indexed_prepared_swap_state(~S,~C,id,incoming,indexed_prepared_unseal(~S,~C,carrier))

Uses (12)

Used by (5)