DoublyLinkedList.dispatch: def of bend-collections@1.0.0.0 Import: import bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend as DoublyLinkedList Lines 140-164 of bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend: https://jend.leeeet.dev/read.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&start_line=140&end_line=164 import Base import bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend as R import bend-collections@1.0.0.0/src/containers/types/internal_dlist.bend as I import bend-collections@1.0.0.0/src/containers/types/doubly_linked_list.bend as E def dispatch(~T: Data, s: DList, op: E.Op) -> DList & E.Obs: DL{+tag, +depth, +cap, raw, gens} = s match op: case E.Length{}: length_result(~T, tag, depth, cap, gens, R.length(~T, raw)) case E.ToList{}: list_result(~T, tag, depth, cap, gens, R.to_list(~T, raw)) case E.PushFront{x}: pushed_obs(~T, inserted(~T, tag, depth, cap, gens, R.push_front_free(~T, raw, x))) case E.PushBack{x}: pushed_obs(~T, inserted(~T, tag, depth, cap, gens, R.push_back_free(~T, raw, x))) case E.Get{h}: value_result(~T, tag, depth, cap, gens, R.get(~T, raw, old_handle(h))) case E.Set{h, x}: unit_result(~T, tag, depth, cap, gens, R.set(~T, raw, old_handle(h), x)) case E.Remove{E.H{+owner, +id, generation}}: removed(~T, tag, depth, cap, gens, id, generation, R.remove(~T, raw, I.H{owner, id})) case E.Next{h}: neighbour_result(~T, tag, depth, cap, gens, R.next(~T, raw, old_handle(h))) case E.Prev{h}: neighbour_result(~T, tag, depth, cap, gens, R.prev(~T, raw, old_handle(h))) case E.InsertBefore{h, x}: relative_result(~T, tag, depth, cap, gens, R.insert_before_reuse(~T, raw, old_handle(h), x)) case E.InsertAfter{h, x}: relative_result(~T, tag, depth, cap, gens, R.insert_after_reuse(~T, raw, old_handle(h), x)) Uses (27): https://jend.leeeet.dev/definition.txt?path=Base/base.bend&name=Pair https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=DList https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=inserted https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=length_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=list_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=neighbour_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=old_handle https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=pushed_obs https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=relative_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=removed https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=unit_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/doubly_linked_list.bend&name=value_result https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=get https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=insert_after_reuse https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=insert_before_reuse https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=length https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=next https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=prev https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=push_back_free https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=push_front_free https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=remove https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=set https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/internal/dlist_storage.bend&name=to_list https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/doubly_linked_list.bend&name=Handle https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/doubly_linked_list.bend&name=Obs https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/doubly_linked_list.bend&name=Op https://jend.leeeet.dev/definition.txt?path=bend-collections@1.0.0.0/src/containers/types/internal_dlist.bend&name=Handle