Class OrderedTuples

  • All Implemented Interfaces:
    Consumer, XConsumer, java.lang.Appendable, java.util.function.Consumer<java.lang.Object>, java.util.function.DoubleConsumer, java.util.function.IntConsumer, java.util.function.LongConsumer

    public class OrderedTuples
    extends FilterConsumer
    Helper class used in conjunction with OrderedMap. It has the tuples from the for and let-clauses, as filtered by the where-clause. The tuples are sorted using a linked-list version of merge sort. The sequence of n tuples for m variables is represented using an array of length n where each element is an array of length m. A possible future optimization would be to instead use m different arrays of of length n. The advantage is that each of the M arrays could have the "correct" type for each variable, and so we avoid casts or boxing/unboxing.
    • Method Detail

      • ignoring

        public boolean ignoring()
        Description copied from interface: Consumer
        True if consumer is ignoring rest of element. The producer can use this information to skip ahead.
        Specified by:
        ignoring in interface Consumer
        Overrides:
        ignoring in class FilterConsumer
      • run$X

        public void run$X​(CallContext ctx)
                   throws java.lang.Throwable
        Throws:
        java.lang.Throwable