Class SortedDisjointIntervalList


  • public class SortedDisjointIntervalList
    extends java.lang.Object
    This class represents a sorted list of disjoint, closed intervals. When an
    interval is inserted, all intervals that overlap it or are adjacent to it are
    merged into one. I.e. [0,14] and [15,30] will be merged to [0,30].

    Iterators returned by this class are invalidated by non-const operations.
    • Field Detail

      • swigCMemOwn

        protected transient boolean swigCMemOwn
    • Constructor Detail

      • SortedDisjointIntervalList

        public SortedDisjointIntervalList​(long cPtr,
                                          boolean cMemoryOwn)
      • SortedDisjointIntervalList

        public SortedDisjointIntervalList()
      • SortedDisjointIntervalList

        public SortedDisjointIntervalList​(long[] starts,
                                          long[] ends)
        Creates a SortedDisjointIntervalList and fills it with intervals
        [starts[i]..ends[i]]. All intervals must be consistent (starts[i] <=
        ends[i]). There are two version, one for int64_t and one for int.
      • SortedDisjointIntervalList

        public SortedDisjointIntervalList​(int[] starts,
                                          int[] ends)
    • Method Detail

      • finalize

        protected void finalize()
        Overrides:
        finalize in class java.lang.Object
      • delete

        public void delete()
      • buildComplementOnInterval

        public SortedDisjointIntervalList buildComplementOnInterval​(long start,
                                                                    long end)
        Builds the complement of the interval list on the interval [start, end].
      • insertIntervals

        public void insertIntervals​(long[] starts,
                                    long[] ends)
        Adds all intervals [starts[i]..ends[i]].

        Same behavior as InsertInterval() upon invalid intervals. There's a version
        with int64_t and int32_t.
      • insertIntervals

        public void insertIntervals​(int[] starts,
                                    int[] ends)
      • numIntervals

        public int numIntervals()
        Returns the number of disjoint intervals in the list.
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • insertInterval

        public void insertInterval​(long start,
                                   long end)