The standard library Rw_Queue api defines the basic mutable queues used throughout the Mythryl codebase.
The Rw_Queue api is implemented by the rw_queue package.
The Rw_Queue api source code is in src/lib/src/rw-queue.api.
See also: Queue.
See also: Priority_Queue.
The above information is manually maintained and may contain errors.
api { Rw_Queue X = RW_QUEUE {back:Ref(List(X ) ), front:Ref(List(X ) )}; make_rw_queue : Void -> Rw_Queue(X ); same_queue : (Rw_Queue(X ) , Rw_Queue(X )) -> Bool; queue_is_empty : Rw_Queue(X ) -> Bool; put_on_back_of_queue : (Rw_Queue(X ) , X) -> Void; push : (Rw_Queue(X ) , X) -> Void; take_from_front_of_queue : Rw_Queue(X ) -> Null_Or(X ); pull : Rw_Queue(X ) -> Null_Or(X ); clear_queue_to_empty : Rw_Queue(X ) -> Void; put_on_front_of_queue : (Rw_Queue(X ) , X) -> Void; unpull : (Rw_Queue(X ) , X) -> Void; take_from_back_of_queue : Rw_Queue(X ) -> Null_Or(X ); unpush : Rw_Queue(X ) -> Null_Or(X ); to_list : Rw_Queue(X ) -> List(X ); take_from_front_of_queue_or_raise_exception : Rw_Queue(X ) -> X; frontq : Rw_Queue(X ) -> List(X ); backq : Rw_Queue(X ) -> List(X );};