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.
(drain queue)
Pulls everything off a queue into a seq.
Pulls everything off a queue into a seq.
(insert-by s salience elt)
Inputs: [s :- [s/Any] salience :- (s/maybe (=> s/Num s/Any)) elt :- s/Any] Returns: [s/Any]
Insert an element into a sequence, by salience. If a salience function is provided, then insert the element immediately after all elements of lower salience. If no salience is provided, then append the element to the end of the seq
Inputs: [s :- [s/Any] salience :- (s/maybe (=> s/Num s/Any)) elt :- s/Any] Returns: [s/Any] Insert an element into a sequence, by salience. If a salience function is provided, then insert the element immediately after all elements of lower salience. If no salience is provided, then append the element to the end of the seq
(new-queue)
(new-queue salience-fn id-fn)
(new-queue)
(new-queue G__6862 G__6863)
Inputs: ([] [salience-fn :- (s/maybe (=> 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/maybe (=> 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.
(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
(head queue)
Returns the head of the queue
Returns the head of the queue
(pop queue)
Removes the head from the queue
Removes the head from the queue
(q-count queue)
Returns the number of items in the queue
Returns the number of items in the queue
(strict-map->SalienceQueue m4069 & [drop-extra-keys?__682__auto__])
(strict-map->SalienceQueue m6834 & [drop-extra-keys?__682__auto__])
Factory function for class SalienceQueue, taking a map of keywords to field values. All keys are required, and no extra keys are allowed. Even faster than map->
Factory function for class SalienceQueue, taking a map of keywords to field values. All keys are required, and no extra keys are allowed. Even faster than map->
cljdoc is a website building & hosting documentation for Clojure/Script libraries
× close