Meziantou.Framework.Collections namespace

Classes

NameDescription
AppendOnlyCollection<T>
BTree<T>
CircularBuffer<T>A circular buffer (ring buffer) collection that maintains a fixed-size buffer and overwrites old items when full.
DoubleEndedQueue<T>Represents a growable double-ended queue.
ImmutableEquatableArray
ImmutableEquatableArray<T>
ImmutableEquatableDictionary
ImmutableEquatableDictionary<TKey, TValue>
ImmutableEquatableSet
ImmutableEquatableSet<T>
LimitList<T>A list that holds at most LimitList<T>.Capacity items, and drops the item at the other end when an item is added to a full list.
MultiValueDictionary<TKey, TValue>
PruningRadixTreeRepresents a case-sensitive radix-compressed trie optimized for ranked prefix autocomplete.
SkipList<T>Represents a sorted skip list that stores unique values.
SortedList<T>
Trie<TValue>
UnsafeListDictionary<TKey, TValue>This dictionary doesn't ensure the items are unique. For instance, you can use it to create a list of values to serialize without spending time validating the items.
UnsafeListDictionary<TKey, TValue>.KeyCollection
UnsafeListDictionary<TKey, TValue>.ValueCollection

Structs

NameDescription
AppendOnlyCollection<T>.Enumerator
BTree<T>.Enumerator
CircularBuffer<T>.Enumerator
DoubleEndedQueue<T>.Enumerator
ImmutableEquatableArray<T>.Enumerator
LimitList<T>.Enumerator
MultiValueDictionary<TKey, TValue>.Enumerator
SkipList<T>.EnumeratorEnumerates the elements of a SkipList<T>.
SortedList<T>.Enumerator
Trie<TValue>.EnumeratorEnumerates the key-value pairs of a trie, in depth-first order, using an explicit stack instead of recursive iterators.
UnsafeListDictionary<TKey, TValue>.KeyCollection.Enumerator
UnsafeListDictionary<TKey, TValue>.ValueCollection.Enumerator