Queue

type Queue<T> = { var pure : Pure.Queue<T> }

public func toPure<T>(queue : Queue<T>) : Pure.Queue<T>

public func fromPure<T>(queue : Pure.Queue<T>) : Queue<T>

public func new<T>() : Queue<T>

public func clone<T>(queue : Queue<T>) : Queue<T>

public func isEmpty<T>(queue : Queue<T>) : Bool

public func size<T>(queue : Queue<T>) : Nat

public func contains<T>(queue : Queue<T>, item : T) : Bool

public func peekFront<T>(queue : Queue<T>) : ?T

public func peekBack<T>(queue : Queue<T>) : ?T

public func push<T>(queue : Queue<T>, element : T) : ()

public func pop<T>(queue : Queue<T>) : ?T

public func pushFront<T>(queue : Queue<T>, element : T) : ()

public func pushBack<T>(queue : Queue<T>, element : T) : ()

public func popFront<T>(queue : Queue<T>) : ?T

public func popBack<T>(queue : Queue<T>) : ?T

public func values<T>(queue : Queue<T>) : Iter.Iter<T>

public func toText<T>(queue : Queue<T>, f : T -> Text) : Text