Table of Contents

Namespace Garyon.DataStructures

Classes

BaseFlexDictionary<TKey, TValue>

A dictionary that allows indexing or setting values on non-existing keys without throwing exceptions.

BaseSetLinearCollection<T>

Represents a linear collection accompanied by a set. This data structure encapsulates an ordered linear collection data type that has a specific insertion and removal order (e.g. Queue<T>, Stack<T>) and a HashSet<T>. Through the usage of the set, the data structure ensures that no elements are contained more than once.

ConcurrentSet<T>

Provides a thread-safe set implementation based on ConcurrentDictionary<TKey, TValue>.

FlexDictionary<TKey, TValue>

A dictionary that allows indexing or setting values on non-existing keys without throwing exceptions.

FlexInitDictionary<TKey, TValue>

Represents a flexible dictionary where the newly added keys will map to a new initialized value of TValue.

InterlinkedDictionary<T>

Represents a collection of interlinked pairs of values of the same type, where the first and second components are mapped to each other.

InterlinkedDictionary<T1, T2>

Represents a collection of interlinked key-value pairs, where both the key and the value are mapped to each other. This means that the ability to get the mapping key from the mapped value is enabled.

LifoBuffer<T>

Provides a buffer storing elements in a LIFO (last-in-first-out) order. The buffer cycles through its fixed capacity, automatically overwriting the oldest elements upon appending an element.

QueueSet<T>

Represents a set whose elements are stored in a queue. This data structure encapsulates a Queue<T> and a HashSet<T>. Through the usage of the set, the data structure ensures that no elements are contained more than once.

StackSet<T>

Represents a set whose elements are stored in a stack. This data structure encapsulates a Stack<T> and a HashSet<T>. Through the usage of the set, the data structure ensures that no elements are contained more than once.

ValueCounterDictionary<TKey>

Represents a value counter dictionary, that stores a counter per entry as the value of the key.