Array
|
Provides extended array functions.
|
ConcurrentLRUCache<'K, 'V>
|
Represents Least Recently Used (LRU) cache supporting concurrency. The
capacity decides how many entries to store.
|
DoublyLinkedKeyValue<'K, 'V>
|
Represents a doubly-linked key-value node that is used in the
LRUCache.
|
ICacheableOperation<'Arg, 'V>
|
Represents a cacheable operation, which will be executed when there's no
already cached item.
|
IntervalMap
|
Provides functions for creating or manipulating interval maps.
|
IntervalMap<'V>
|
Represents an interval map, which is a map based on an interval tree. This
maps an interval (i.e., AddrRange) to a value of type
'V. We currently implement this using the functional finger tree. Intervals
in this map are not necessarily disjoint and can overlap. To disallow
overlapping intervals, consider using NoOverlapIntervalMap instead.
|
IntervalSet (Module)
|
Provides functions for creating or manipulating interval sets.
|
IntervalSet (Type)
|
Represents an interval-tree-based set, which stores intervals (AddrRange) that can overlap unlike ARMap.
|
LRUCache<'K, 'V>
|
Represents a Least Recently Used (LRU) cache that does not support
concurrency.
|
NoOverlapIntervalMap
|
Provides functions for creating or manipulating non-overlapping interval
maps.
|
NoOverlapIntervalMap<'V>
|
Represents a non-overlapping interval map. By interval map, we mean a map
based on an interval tree, which maps an interval (i.e., AddrRange) to a
value. We currently implement this using a red-black tree, which follows the
implementation of the paper written by Kimball Germane and Matthew Might:
"Deletion: The Curse of the Red-Black Tree", Journal of Functional
Programming, vol. 24, no. 4, 2014.
|
PersistentQueue
|
Provides functions to create or manipulate persistent queues.
|
PersistentQueue<'T>
|
Represents a persistent queue. We internally use two lists to represent the
queue.
|
RandomAccessQueue
|
Provides functions for creating or manipulating random access queues.
|
RandomAccessQueue<'T>
|
Represents an interval-tree-based map: an interval of type (Addr) -> a
RandomAccessQueueElement ('a).
|
RegisterSet
|
Represents a set of register IDs. This is an efficient and
architecture-agnostic set data structure that internally uses bit arrays.
Since RegisterIDs always start from 0 for any architecture, we can use it
directly as an index to the bit array.
|
SortedList
|
Provides extended functionality for the SortedList collection.
|
UniqueQueue<'T>
|
Represents a queue that only stores unique elements.
|