std.pretty.deque

catvec

(catvec)(catvec v1)(catvec v1 v2)(catvec v1 v2 v3)(catvec v1 v2 v3 v4)(catvec v1 v2 v3 v4 & vn)

Concatenates the given vectors in logarithmic time.

conj-both

added in 3.0

(conj-both l deque r)

appends elements on either side

(conj-both 1 2 3) => 1 2 3

conj-left

added in 3.0

(conj-left v & more)

appends elements on the left

(conj-left 4 3 2 1) => 1 2 3 4

conj-right

added in 3.0

(conj-right v & more)

appends elements on the right

(conj-right 1 2 3 4) => 1 2 3 4

peek

added in 1.0

(peek coll)

For a list or queue, same as first, for a vector, same as, but much more efficient than, last. If the collection is empty, returns nil.

peek-left

added in 3.0

(peek-left v)

peeks at the first element on the left

(peek-left 1 2 3 4) => 1

pop

added in 1.0

(pop coll)

For a list or queue, returns a new list/queue without the first item, for a vector, returns a new vector without the last item. If the collection is empty, throws an exception. Note - not the same as next/butlast.

pop-left

added in 3.0

(pop-left v)

pops an element from the left

(pop-left 1 2 3 4) => 2 3 4

update-left

added in 3.0

(update-left deque f & args)

updates the leftmost element

(update-left 1 2 3 dec) => 0 2 3

update-right

added in 3.0

(update-right deque f & args)

updates the rightmost element

(update-right 1 2 3 inc) => 1 2 4

vector

added in 1.0

(vector)(vector a)(vector a b)(vector a b c)(vector a b c d)(vector a b c d e)(vector a b c d e f)(vector a b c d e f & args)

Creates a new vector containing the args.