gnu.lists |
|
Java Source File Name | Type | Comment |
AbstractFormat.java | Class | |
AbstractSequence.java | Class | An AbstractSequence is used to implement Sequences, and almost all
classes that extend AbstractSequence will implement Sequence.
However, AbstractSequence itself does not implement Sequence.
This is so we can use AbstractSequence to implement classes that are
"sequence-like" (such as multi-dimesnional arrays) but are not Sequences.
Additionally, a sequence may have zero or more attributes, which are
name-value pairs. |
Array.java | Interface | General interface to arrays of arbitrary dimension. |
AttributePredicate.java | Interface | A predicate that (only) matches a ATTRIBUTE_VALUE. |
BitVector.java | Class | Simple adjustable-length vector of boolean values. |
CharBuffer.java | Class | Editable character sequence using a a buffer-gap implementstion and
self-adjusting position. |
CharSeq.java | Interface | A sequence where each element is a character. |
Consumable.java | Interface | An object that can send its contents to a Consumer. |
Consumer.java | Interface | A Consumer is something that will accept data (output),
and do something with it.
A consumer is like a SAX DocumentHandler or a PrintWriter,
but more abstract. |
ConsumerWriter.java | Class | A Writer that wraps (filters) a Consumer. |
Convert.java | Class | A class that encapsulates primitive<->Object conversions. |
ElementPredicate.java | Interface | A predicate that (only) matches a ELEMENT_VALUE. |
EofClass.java | Class | |
ExtPosition.java | Class | A SeqPosition for sequences that need more than a Pos int for a position. |
ExtSequence.java | Class | Abstract helper class for Sequences that use an ExtPosition. |
F32Vector.java | Class | Simple adjustable-length vector whose elements are 32-bit floats. |
F64Vector.java | Class | Simple adjustable-length vector whose elements are 64-bit floats. |
FilterConsumer.java | Class | A Consumer that wraps some other Consumer. |
FString.java | Class | Simple adjustable-length vector whose elements are 32-bit floats. |
FVector.java | Class | Simple adjustable-length vector whose elements are Object references. |
GapVector.java | Class | An array with a gap in the middle, allowing efficient insert and delete. |
GeneralArray.java | Class | A class to handle general multi-dimensional arrays.
This class is unfinished.
If the number of dimensions (the "rank") is one, should use
a class that implements Sequence.
GeneralArray uses a SimpleVector 'base' to store the actual data, and
provides general linear mapping from the array indexes to an
element index in the 'base' SimpleVector. |
GeneralArray1.java | Class | |
ItemPredicate.java | Interface | A predicate (or type) on an item in a sequence. |
LList.java | Class | Semi-abstract class for traditions Lisp-style lists.
A list is implemented as a chain of Pair objects, where the
'car' field of the Pair points to a data element, and the 'cdr'
field points to the next Pair. |
LListPosition.java | Class | LListPosition - a SeqPosition for LLists.
Normally, we just use an int pos to indicate a position in a
sequence. |
NodePredicate.java | Interface | A predicate that (only) matches only "nodes" in the XML sense.
Only matches nodes in the XML "info-set". |
Pair.java | Class | A "pair" object, as used in Lisp-like languages.
When used to implement a list, the 'car' field contains an
element's value, and the 'cdr' field points to either the next Pair
or LList.Empty (which represents the end of the list). |
PairWithPosition.java | Class | A Pair with the file name and position it was read from. |
PositionConsumer.java | Interface | An object that can be "fed" a TreePosition, and will do something with it. |
PositionManager.java | Class | |
PrintConsumer.java | Class | A Consumer that extends a PrintWriter. |
S16Vector.java | Class | Simple adjustable-length vector of signed 16-bit integers (shorts). |
S32Vector.java | Class | Simple adjustable-length vector of signed 32-bit integers (ints). |
S64Vector.java | Class | Simple adjustable-length vector of signed 64-bit integers (longs). |
S8Vector.java | Class | Simple adjustable-length vector of signed 8-bit integers (bytes). |
SeqPosition.java | Class | A position in a sequence (list).
Conceptually similar to Java2's ListIterator, but we use the name "Position"
to indicate that it can be used to both indicate a position in a sequence
and to iterate through a sequence. |
Sequence.java | Interface | A Sequence is an ordered list of elements.
It is similar to and compatible with the Java2 java.util.List interface,
but does not require it.
All standard classes that implement Sequence also extend AbstractSequence.
Using AbstractSequence provides default implementations for many methods,
and also makes things a bit more efficient. |
SimpleVector.java | Class | A SimpleVector implement as a simple array plus a current size.
Methods with the word "Buffer" are methods which use the underlying
array, ignoring the 'size' field.
Can be used to implement CommonLisp simple vectors, but all simple
vectors are also adjustable (by re-allocating the buffer)
and have a fill pointer (the size field). |
StableVector.java | Class | Implements a stable sequence with sticky positions.
I.e if you have a position, it gets automatically updated after
insertions and deletions. |
Strings.java | Class | Various static utility methods for general strings (CharSeqs). |
SubCharSeq.java | Class | |
SubSequence.java | Class | A sequence consisting of a sub-range of the elements of a base sequence. |
TreeList.java | Class | A compact representation of a tree, that is a nested list structure. |
TreePosition.java | Class | A position that can also go down and up in a tree. |
U16Vector.java | Class | Simple adjustable-length vector of unsigned 16-bit integers (shorts). |
U32Vector.java | Class | Simple adjustable-length vector of unsigned 32-bit integers (ints). |
U64Vector.java | Class | Simple adjustable-length vector of unsigned 64-bit integers (longs). |
U8Vector.java | Class | Simple adjustable-length vector of unsigned 8-bit integers (bytes). |
UnescapedData.java | Class | Used for text that is supposed to be written out verbatim. |
VoidConsumer.java | Class | A Consumer that does nothing. |
XConsumer.java | Interface | A Consumer extended with XML-specific methods.
This should probably be in gnu.xml, but that complications TreeList. |