Package org.multiverse.api.collections

## Interface TxnDeque<E>

- All Superinterfaces:
    `Collection<E>`, `Deque<E>`, `Iterable<E>`, `Queue<E>`, `TxnCollection<E>`, `TxnIterable<E>`, `TxnQueue<E>`
  All Known Implementing Classes:
    `NaiveTxnLinkedList`

      public interface TxnDeque<E>
      extends TxnQueue<E>, Deque<E>

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addFirst​(Txn txn, E e)` |
    `void` | `addLast​(Txn txn, E e)` |
    `TxnIterator<E>` | `descendingIterator​(Txn txn)` |
    `E` | `getFirst​(Txn txn)` |
    `E` | `getLast​(Txn txn)` |
    `boolean` | `offerFirst​(Txn txn, E e)` |
    `boolean` | `offerLast​(Txn txn, E e)` |
    `E` | `peekFirst​(Txn txn)` |
    `E` | `peekLast​(Txn txn)` |
    `E` | `pollFirst​(Txn txn)` |
    `E` | `pollLast​(Txn txn)` |
    `E` | `pop​(Txn txn)` |
    `void` | `push​(Txn txn, E e)` |
    `void` | `putFirst​(E item)` |
    `void` | `putFirst​(Txn txn, E item)` |
    `void` | `putLast​(E item)` |
    `void` | `putLast​(Txn txn, E item)` |
    `E` | `removeFirst​(Txn txn)` |
    `boolean` | `removeFirstOccurrence​(Txn txn, Object o)` |
    `E` | `removeLast​(Txn txn)` |
    `boolean` | `removeLastOccurrence​(Txn txn, Object o)` |
    `E` | `takeFirst()` |
    `E` | `takeFirst​(Txn txn)` |
    `E` | `takeLast()` |
    `E` | `takeLast​(Txn txn)` |

    - ### Methods inherited from interface java.util.Collection

      `clear, containsAll, equals, hashCode, isEmpty, parallelStream, removeAll, removeIf, retainAll, spliterator, stream, toArray, toArray, toArray`

    - ### Methods inherited from interface java.util.Deque

      `add, addAll, addFirst, addLast, contains, descendingIterator, element, getFirst, getLast, iterator, offer, offerFirst, offerLast, peek, peekFirst, peekLast, poll, pollFirst, pollLast, pop, push, remove, remove, removeFirst, removeFirstOccurrence, removeLast, removeLastOccurrence, size`

    - ### Methods inherited from interface java.lang.Iterable

      `forEach`

    - ### Methods inherited from interface org.multiverse.api.collections.TxnCollection

      `add, addAll, addAll, addAll, clear, contains, containsAll, getStm, isEmpty, remove, size, toString`

    - ### Methods inherited from interface org.multiverse.api.collections.TxnIterable

      `iterator, iterator`

    - ### Methods inherited from interface org.multiverse.api.collections.TxnQueue

      `element, getCapacity, offer, peek, poll, put, put, remove, take, take`

- - ### Method Detail

    - #### offerFirst

          boolean offerFirst​(Txn txn,
                             E e)

    - #### pollLast

          E pollLast​(Txn txn)

    - #### pollFirst

          E pollFirst​(Txn txn)

    - #### peekFirst

          E peekFirst​(Txn txn)

    - #### putFirst

          void putFirst​(E item)

    - #### putFirst

          void putFirst​(Txn txn,
                        E item)

    - #### takeFirst

          E takeFirst()

    - #### takeFirst

          E takeFirst​(Txn txn)

    - #### offerLast

          boolean offerLast​(Txn txn,
                            E e)

    - #### peekLast

          E peekLast​(Txn txn)

    - #### putLast

          void putLast​(E item)

    - #### putLast

          void putLast​(Txn txn,
                       E item)

    - #### takeLast

          E takeLast()

    - #### takeLast

          E takeLast​(Txn txn)

    - #### addFirst

          void addFirst​(Txn txn,
                        E e)

    - #### addLast

          void addLast​(Txn txn,
                       E e)

    - #### removeFirst

          E removeFirst​(Txn txn)

    - #### removeLast

          E removeLast​(Txn txn)

    - #### getFirst

          E getFirst​(Txn txn)

    - #### getLast

          E getLast​(Txn txn)

    - #### removeFirstOccurrence

          boolean removeFirstOccurrence​(Txn txn,
                                        Object o)

    - #### removeLastOccurrence

          boolean removeLastOccurrence​(Txn txn,
                                       Object o)

    - #### push

          void push​(Txn txn,
                    E e)

    - #### pop

          E pop​(Txn txn)

    - #### descendingIterator

          TxnIterator<E> descendingIterator​(Txn txn)