Class SlabList<T>

java.lang.Object
gov.nasa.jpl.aerie.merlin.driver.engine.SlabList<T>
All Implemented Interfaces:
Iterable<T>

public final class SlabList<T> extends Object implements Iterable<T>
An append-only list comprising a chain of fixed-size slabs. The fixed-size slabs allow for better cache locality when traversing the list forward, and the chain of links allows for cheap extension when a slab reaches capacity.
  • Constructor Details

    • SlabList

      public SlabList()
  • Method Details

    • append

      public void append(T element)
    • size

      public int size()
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • iterator

      public SlabList<T>.SlabIterator iterator()
      Returns an iterator that is stable through appends. If hasNext() returns false and then additional elements are added to the list, the iterator can be reused to continue from where it left off.
      Specified by:
      iterator in interface Iterable<T>
    • duplicate

      public SlabList<T> duplicate()
    • freeze

      public void freeze()