Liking cljdoc? Tell your friends :D

co.multiply.conc.deque

Lock-free doubly-linked deque with eager folding.

Cross-platform macros for deque operations. On the JVM, uses Java implementation with VarHandle atomics. On ClojureScript, uses a single-threaded implementation with mutable fields.

Lock-free doubly-linked deque with eager folding.

Cross-platform macros for deque operations. On the JVM, uses Java
implementation with VarHandle atomics. On ClojureScript, uses a
single-threaded implementation with mutable fields.
raw docstring

addclj/smacro

(add deque link)

Add a link to the tail of the deque.

Returns true if the link was added, false if it was already in a deque.

Add a link to the tail of the deque.

Returns true if the link was added, false if it was already in a deque.
raw docstring

addFirstclj/smacro

(addFirst deque link)

Add a link to the head of the deque.

Returns true if the link was added, false if it was already in a deque.

Add a link to the head of the deque.

Returns true if the link was added, false if it was already in a deque.
raw docstring

forEachclj/smacro

(forEach [sym deque] & body)

Iterate over all links in the deque.

Iterate over all links in the deque.
raw docstring

isEmptyclj/smacro

(isEmpty deque)

Check if the deque is empty.

Check if the deque is empty.
raw docstring

iteratorclj/smacro

(iterator deque)

Get an iterator over the deque.

Get an iterator over the deque.
raw docstring

iteratorHasNextclj/smacro

(iteratorHasNext it)

Check if the iterator has more elements.

Check if the iterator has more elements.
raw docstring

iteratorNextclj/smacro

(iteratorNext it)

Get the next element from the iterator.

Get the next element from the iterator.
raw docstring

new-dequeclj/smacro

(new-deque)

Create a new deque.

Create a new deque.
raw docstring

pollclj/smacro

(poll deque)

Remove and return the first link from the deque, or nil if empty.

Remove and return the first link from the deque, or nil if empty.
raw docstring

pollEndclj/smacro

(pollEnd deque)

Remove and return the last link from the deque, or nil if empty.

Remove and return the last link from the deque, or nil if empty.
raw docstring

removeclj/smacro

(remove deque link)

Remove a link from the deque.

Returns true if this call initiated the removal, false if already removed or not in this deque.

Remove a link from the deque.

Returns true if this call initiated the removal, false if already removed
or not in this deque.
raw docstring

sizeclj/smacro

(size deque)

Get the size of the deque.

Get the size of the deque.
raw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close