Class OrderedTuples

  • All Implemented Interfaces:
    Consumer, XConsumer, Appendable, Consumer<Object>, DoubleConsumer, IntConsumer, 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.