| Interface | Description |
|---|---|
| DurableEncodings.Codec |
A convenience interface capturing the codec behavior for a primitive encoding.
|
| DurableInput |
A cross between
DataInput and ByteBuffer. |
| DurableInput.Pool |
A means of generating thread-local
DurableInputs, which do not need to be explicitly released. |
| DurableOutput |
An implementation of
DataOutput with some additional utility functions. |
| ICollection<C,V> | |
| IDiff<C extends ICollection<C,V>,V> | |
| IDiffList<V> | |
| IDiffMap<K,V> | |
| IDiffSet<V> | |
| IDiffSortedMap<K,V> | |
| IDurableCollection | |
| IDurableCollection.Fingerprint | |
| IDurableCollection.Root | |
| IDurableEncoding |
A type descriptor for an encoded value.
|
| IDurableEncoding.List |
A list comprised of a single
IDurableEncoding.List.elementEncoding(). |
| IDurableEncoding.Map |
A map, comprised of a
IDurableEncoding.Map.keyEncoding() and IDurableEncoding.Map.valueEncoding(). |
| IDurableEncoding.Primitive |
A primitive, which can encode and decode blocks of values.
|
| IDurableEncoding.Set |
A set, comprised of a single
IDurableEncoding.Set.elementEncoding(). |
| IDurableEncoding.SkippableIterator |
An extension of
Iterator, which provides for skipping elements without ever providing a value. |
| IDurableEncoding.Unityped |
An encoding which is all things to all people.
|
| IEdge<V,E> | |
| IEntry<K,V> | |
| IEntry.WithHash<K,V> | |
| IGraph<V,E> | |
| IList<V> | |
| IMap<K,V> | |
| ISet<V> | |
| ISortedMap<K,V> | |
| ISortedSet<V> |
| Class | Description |
|---|---|
| DirectedAcyclicGraph<V,E> |
A directed graph which will throw a
DirectedAcyclicGraph.CycleException if any new edge creates a cycle. |
| DirectedGraph<V,E> | |
| DurableCollections | |
| DurableEncodings |
Utility methods for constructing
IDurableEncodings. |
| DurableInput.Bounds |
Describes the slice window for a
DurableInput, which can be recursively followed to the root. |
| DurableList<V> | |
| DurableMap<K,V> | |
| FloatMap<V> |
A map which has floating-point keys, built atop
IntMap, with which it shares performance characteristics. |
| Graph<V,E> | |
| Graphs | |
| Graphs.DirectedEdge<V,E> | |
| Graphs.UndirectedEdge<V,E> | |
| IDiffList.Range | |
| IntMap<V> |
A map which has integer keys, which is an combination of Okasaki and Gill's
Fast Mergeable Integer Maps with the memory layout
suggested by Steindorfer and Vinju used in
Map, with which it shares the same broad performance
characteristics. |
| IntSet | |
| LinearList<V> |
A simple implementation of a mutable list combining the best characteristics of
ArrayList and
ArrayDeque, allowing elements to be added and removed from both ends of the collection and
allowing random-access reads and updates. |
| LinearMap<K,V> |
A hash-map implementation which uses Robin Hood hashing for placement, and allows for customized hashing and equality
semantics.
|
| LinearSet<V> |
A set which builds atop
LinearMap, and shares the same performance characteristics. |
| List<V> |
An implementation of an immutable list which allows for elements to be added and removed from both ends of the
collection, as well as random-access reads and writes.
|
| Lists |
Utility functions for classes implementing
IList. |
| Map<K,V> |
An implementation of an immutable hash-map based on the general approach described by Steindorfer and Vinju in
this paper.
|
| Maps |
Utility functions for classes implementing
IMap. |
| Maps.Entry<K,V> | |
| Maps.HashEntry<K,V> | |
| Rope |
A tree-based immutable string representation, indexed on both full Unicode code points and Java's UTF-16 code
units.
|
| Ropes | |
| Set<V> |
A set which builds atop
Map, and shares the same performance characteristics. |
| Sets |
Utility functions for classes implementing
ISet. |
| SortedMap<K,V> |
A red-black tree based on Germane 2014.
|
| SortedSet<V> |
| Exception | Description |
|---|---|
| DirectedAcyclicGraph.CycleException |