Liking cljdoc? Tell your friends :D

naga.queue

Defines a Queue structure that can be added to the tail, and removed from the head. Anything already in the queue (compared by ID) will not be added again, but a function can be provided that will update the element when it is already present. Includes a 'salience' which allows elements to be promoted through the queue ahead of less salient elements.

Defines a Queue structure that can be added to the tail, and removed from the head.
Anything already in the queue (compared by ID) will not be added again, but a function can
be provided that will update the element when it is already present.
Includes a 'salience' which allows elements to be promoted through the queue ahead
of less salient elements.
raw docstring

drainclj

(drain queue)

Pulls everything off a queue into a seq.

Pulls everything off a queue into a seq.
sourceraw docstring

insert-byclj

(insert-by s salience e)

Inputs: [s :- [s/Any] salience :- (=> s/Num s/Any) e :- s/Any] Returns: [s/Any]

Inputs: [s :- [s/Any] salience :- (=> s/Num s/Any) e :- s/Any]
Returns: [s/Any]
sourceraw docstring

new-queueclj

(new-queue)
(new-queue salience-fn id-fn)

Inputs: ([] [salience-fn :- (=> s/Num s/Any) id-fn :- (=> s/Any s/Any)])

Create an empty queue. When called without arguments, salience is ignored, and update and ID are just identity.

Inputs: ([] [salience-fn :- (=> s/Num s/Any) id-fn :- (=> s/Any s/Any)])

Create an empty queue. When called without arguments, salience is ignored,
 and update and ID are just identity.
sourceraw docstring

PQueuecljprotocol

addclj

(add queue element)
(add queue update-fn element)

Adds an element to the queue if it isn't already present, returning the new queue. Uses update-fn on the element if it is already in the queue

Adds an element to the queue if it isn't already present, returning the new queue. Uses update-fn on the element if it is already in the queue

headclj

(head queue)

Returns the head of the queue

Returns the head of the queue

popclj

(pop queue)

Removes the head from the queue

Removes the head from the queue

q-countclj

(q-count queue)

Returns the number of items in the queue

Returns the number of items in the queue
source

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close