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, writeProcessingInstructionpublic boolean ignoring()
Consumerignoring in interface Consumerignoring in class FilterConsumerpublic void writeObject(java.lang.Object v)
writeObject in interface ConsumerwriteObject in class FilterConsumerpublic static OrderedTuples make$V(Procedure body, java.lang.Object[] comps)
public void run$X(CallContext ctx) throws java.lang.Throwable
java.lang.Throwable