Class RangePriorityQueueBuilder

java.lang.Object
io.deephaven.engine.rowset.impl.RangePriorityQueueBuilder

public class RangePriorityQueueBuilder extends Object
A BuilderRandom type that uses a priority queue of ranges. Each range entered into the RowSet is stored in a priority queue, backed by two long arrays. One array contains the start elements, the second array contains the end elements. The priority function is the start element. We may have many overlapping ranges in the priority queue; as an optimization, if two adjacent ranges are entered into the queue consecutively, the range is not stored in the queue more than once.
  • Method Details

    • size

      public int size()
      Returns our internal queue size. This is not necessarily the size of the resulting RowSet.
    • getOrderedLongSet

      public OrderedLongSet getOrderedLongSet()
    • getOrderedLongSetAndReset

      public OrderedLongSet getOrderedLongSetAndReset()
    • addKey

      public void addKey(long key)
    • addRange

      public void addRange(long firstKey, long lastKey)