# Hierarchy For Package com.complexible.common.collect

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.util.AbstractCollection<E> (implements java.util.Collection<E>)
    - com.complexible.common.collect.UpdatablePriorityQueue<T> (implements java.util.Queue<E>)
  - com.complexible.common.collect.AbstractSkippingIterator<T> (implements com.complexible.common.base.CloseableIterator<T>, com.complexible.common.collect.PeekingSkippingIterator<T>)
    - com.complexible.common.collect.MarkResetSkippingIterator<T> (implements com.complexible.common.collect.RestrictedMarkResetIterator<T>)
  - com.complexible.common.collect.ArrayIterable<T> (implements java.lang.Iterable<T>)
  - com.complexible.common.collect.BidirectionalIterators
  - com.complexible.common.collect.BigArrayList<T> (implements java.lang.Iterable<T>)
  - com.complexible.common.collect.BoundedBuffer<T>
  - com.complexible.common.collect.BufferLists
  - com.complexible.common.collect.DelegatingSkippingIterator<T> (implements com.complexible.common.collect.SkippingIterator<T>)
  - com.complexible.common.collect.DisjointSet<T>
  - com.complexible.common.collect.LongIterators
  - com.complexible.common.collect.NestedList<T> (implements java.lang.Iterable<T>)
  - com.complexible.common.collect.NonDominatedSolutions<T> (implements java.util.Collection<E>)
  - com.complexible.common.collect.ResettableIterators
  - com.complexible.common.collect.SingletonQueue<T>
  - com.complexible.common.collect.SkippingIterables
  - com.complexible.common.collect.SkippingIterators
  - com.complexible.common.collect.SortedIterators
  - com.complexible.common.collect.SortedIterators.UnionBuilder<T>
  - com.complexible.common.collect.SpoolingMarkResetIterator<T> (implements com.complexible.common.collect.RestrictedMarkResetIterator<T>)
  - com.complexible.common.collect.TransformingLongIterator<T> (implements com.complexible.common.collect.SkippingLongIterator)
  - com.google.common.collect.UnmodifiableIterator<E> (implements java.util.Iterator<E>)
    - com.google.common.collect.AbstractIterator<T>
      - com.complexible.common.collect.BatchingIterator<T>
    - com.complexible.common.collect.ArrayIterator<T> (implements com.google.common.collect.PeekingIterator<E>)
    - com.complexible.common.collect.QueuedSortedIterator<T>

## Interface Hierarchy

- java.lang.AutoCloseable
  - com.complexible.common.base.CloseableIterator<T> (also extends java.util.Iterator<E>)
    - com.complexible.common.collect.MarkResetIterator<T> (also extends com.complexible.common.base.Copyable<T>, com.complexible.common.collect.ResettableIterator<T>)
      - com.complexible.common.collect.RestrictedMarkResetIterator<T>
    - com.complexible.common.collect.ResettableIterator<T>
      - com.complexible.common.collect.MarkResetIterator<T> (also extends com.complexible.common.base.CloseableIterator<T>, com.complexible.common.base.Copyable<T>)
        - com.complexible.common.collect.RestrictedMarkResetIterator<T>
      - com.complexible.common.collect.SkippingIterator<T>
        - com.complexible.common.collect.PeekingSkippingIterator<T> (also extends com.google.common.collect.PeekingIterator<E>)
  - com.complexible.common.primitives.CloseableLongIterator (also extends com.complexible.common.primitives.LongIterator)
    - com.complexible.common.collect.SkippingLongIterator (also extends com.complexible.common.collect.PeekingLongIterator)
  - com.complexible.common.primitives.Resettable
    - com.complexible.common.collect.ResettablePredicate<T> (also extends java.util.function.Predicate<T>)
- com.complexible.common.base.Copyable<T>
  - com.complexible.common.collect.MarkResetIterator<T> (also extends com.complexible.common.base.CloseableIterator<T>, com.complexible.common.collect.ResettableIterator<T>)
    - com.complexible.common.collect.RestrictedMarkResetIterator<T>
- java.lang.Iterable<T>
  - java.util.Collection<E>
    - com.complexible.common.collect.BufferList<T>
      - com.complexible.common.collect.ExtendedBufferList<T>
- java.util.Iterator<E>
  - com.complexible.common.collect.BidirectionalIterator<T>
  - com.complexible.common.base.CloseableIterator<T> (also extends java.lang.AutoCloseable)
    - com.complexible.common.collect.MarkResetIterator<T> (also extends com.complexible.common.base.Copyable<T>, com.complexible.common.collect.ResettableIterator<T>)
      - com.complexible.common.collect.RestrictedMarkResetIterator<T>
    - com.complexible.common.collect.ResettableIterator<T>
      - com.complexible.common.collect.MarkResetIterator<T> (also extends com.complexible.common.base.CloseableIterator<T>, com.complexible.common.base.Copyable<T>)
        - com.complexible.common.collect.RestrictedMarkResetIterator<T>
      - com.complexible.common.collect.SkippingIterator<T>
        - com.complexible.common.collect.PeekingSkippingIterator<T> (also extends com.google.common.collect.PeekingIterator<E>)
  - com.google.common.collect.PeekingIterator<E>
    - com.complexible.common.collect.PeekingSkippingIterator<T> (also extends com.complexible.common.collect.SkippingIterator<T>)
- com.complexible.common.primitives.LongIterator
  - com.complexible.common.primitives.CloseableLongIterator (also extends java.lang.AutoCloseable)
    - com.complexible.common.collect.SkippingLongIterator (also extends com.complexible.common.collect.PeekingLongIterator)
  - com.complexible.common.collect.PeekingLongIterator
    - com.complexible.common.collect.SkippingLongIterator (also extends com.complexible.common.primitives.CloseableLongIterator)
- java.util.function.Predicate<T>
  - com.complexible.common.collect.ResettablePredicate<T> (also extends com.complexible.common.primitives.Resettable)
- com.complexible.common.collect.SkippingIterable<T>
  - com.complexible.common.collect.PartitionedSkippingIterable<T>