This library implements queues. The queue representation should be regarded as an opaque term and only accessed using the library predicates.
To load all entities in this library, load the
| ?- logtalk_load(queues(loader)).
To test this library predicates, load the
| ?- logtalk_load(queues(tester)).
To create a new queue, use the
| ?- queue::new(Queue). Queue = ... yes
Elements can be added to either the end of the queue or the front of the
queue using, respectively, the
jump_all/3. For example:
| ?- queue::(new(Queue0), join_all([1,2,3], Queue0, Queue1)). Queue0 = ..., Queue1 = ... yes
We can query the head of the queue or remove the head of the queue
using, respectively, the
serve/3 predicates. For
| ?- queue::(new(Queue0), join(1, Queue0, Queue1), head(Queue1, Head)). Queue0 = ..., Queue1 = ..., Head = 1 yes
For details on these and other provided predicates, consult the library API documentation.