def remove

bend-collections@1.0.0.0 · src/containers/intrusive_doubly_linked_list.bend:27

import bend-collections@1.0.0.0/src/containers/intrusive_doubly_linked_list.bend as IntrusiveDoublyLinkedList
import Base
import bend-collections@1.0.0.0/src/containers/internal/intrusive_list.bend as Impl

27# Detach a known member in O(1). Uses the nullable root setter only for a head.
28# Requires no root reader; preserves the node identity and payload.
29def remove(~S: Type, ~N: Data, ~I: Data, ~next: S -> N -> S & Maybe<&2, N>, ~prev: S -> N -> S & Maybe<&2, N>, ~set_next: S -> N -> Maybe<&2, N> -> S, ~set_prev: S -> N -> Maybe<&2, N> -> S, ~set_head: S -> I -> Maybe<&2, N> -> S, s: S, +i: I, +node: N) -> S:
30  Impl.remove(~S, ~N, ~I, ~next, ~prev, ~set_next, ~set_prev, ~set_head, s, i, node)

Uses (3)

Used by (1)