CCDequeSourceImperative deque
This structure provides fast access to its front and back elements, with O(1) operations.
Contains 'a elements, queue in both ways
equal a b checks whether a and b contain the same sequence of elements.
compare a b compares lexicographically a and b.
Update last value. If the deque is empty do nothing. If the function returns None, remove last element; if it returns Some x, replace last element with x.
Update first value. If the deque is empty do nothing. Similar to update_back but for the first value.
append_front ~into q adds all elements of q at the front of into. O(length q) in time.
append_back ~into q adds all elements of q at the back of into. O(length q) in time.
Create a deque from the sequence. Optional argument deque disappears, use add_iter_back instead.
add_iter_front q seq adds elements of seq into the front of q, in reverse order. O(n) in time, where n is the number of elements to add.
add_iter_back q seq adds elements of seq into the back of q, in order. O(n) in time, where n is the number of elements to add.
List of elements, in order. Less efficient than to_rev_list.
Keep only elements that satisfy the predicate.