Source   Edit

Shared list support.

Unstable API.


SharedList[A] = object
  head, tail: SharedListNode[A]
  lock*: Lock
generic shared list   Source   Edit


proc add[A](x: var SharedList[A]; y: A)
  Source   Edit
proc clear[A](t: var SharedList[A])
  Source   Edit
proc deinitSharedList[A](t: var SharedList[A])
  Source   Edit
proc init[A](t: var SharedList[A])
  Source   Edit
proc iterAndMutate[A](x: var SharedList[A]; action: proc (x: A): bool)
Iterates over the list. If action returns true, the current item is removed from the list.
Warning: It may not preserve the element order after some modifications.
  Source   Edit


iterator items[A](x: var SharedList[A]): A
  Source   Edit