public class OrderedTuples extends FilterConsumer
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.attributeType, base, inAttribute, skipping
Modifier and Type | Method and Description |
---|---|
boolean |
ignoring()
True if consumer is ignoring rest of element.
|
static OrderedTuples |
make$V(Procedure body,
java.lang.Object[] comps) |
void |
run$X(CallContext ctx) |
void |
writeObject(java.lang.Object v) |
append, append, append, beforeContent, beforeNode, beginEntity, endAttribute, endDocument, endElement, endEntity, startAttribute, startDocument, startElement, write, write, write, write, writeBoolean, writeCDATA, writeComment, writeDouble, writeFloat, writeInt, writeLong, writeProcessingInstruction
public boolean ignoring()
Consumer
ignoring
in class FilterConsumer
public void writeObject(java.lang.Object v)
writeObject
in class FilterConsumer
public static OrderedTuples make$V(Procedure body, java.lang.Object[] comps)
public void run$X(CallContext ctx) throws java.lang.Throwable
java.lang.Throwable