docs/library: Add documentation for ucollections.deque.
@@ -12,6 +12,33 @@ hold/accumulate various objects.
Classes
-------
+.. function:: deque(iterable, maxlen[, flags])
+
+ Deques (double-ended queues) are a list-like container that support O(1)
+ appends and pops from either side of the deque. New deques are created
+ using the following arguments:
+
+ - *iterable* must be the empty tuple, and the new deque is created empty.
+
+ - *maxlen* must be specified and the deque will be bounded to this
+ maximum length. Once the deque is full, any new items added will
+ discard items from the opposite end.
+
+ - The optional *flags* can be 1 to check for overflow when adding items.
+
+ As well as supporting `bool` and `len`, deque objects have the following
+ methods:
+
+ .. method:: deque.append(x)
+
+ Add *x* to the right side of the deque.
+ Raises IndexError if overflow checking is enabled and there is no more room left.
+
+ .. method:: deque.popleft()
+
+ Remove and return an item from the left side of the deque.
+ Raises IndexError if no items are present.
+
.. function:: namedtuple(name, fields)
This is factory function to create a new namedtuple type with a specific
