Namespace Towel.DataStructures
Classes
Array<T>
Contiguous fixed-sized data structure.
AvlTree
Static helpers for IAvlTree<T> and IAvlTree<T, TCompare>.
AvlTreeLinked
Static helpers for AvlTreeLinked<T, TCompare>.
AvlTreeLinked<T, TCompare>
A self-sorting binary tree based on the heights of each node.
Bag
Static Extension class for bag interface implementers.
BagMap
Static helpers.
BagMap<T, TMap>
An unsorted structure of unique items.
BTreeLinked
Static helpers for BTreeLinked<T, TCompare>.
BTreeLinked<T, TCompare>
B-Tree Data structure.
DataStructure
Contains static members for IDataStructure<T>.
Graph
Static helpers for IGraph<T>.
GraphMap
Static helpers for GraphMap<T, TEquate, THash>.
GraphMap<T, TEquate, THash>
Stores a graph as a map and nested map (adjacency matrix).
GraphSetOmnitree
Static helpers for GraphSetOmnitree<T, TEquate, THash>.
GraphSetOmnitree<T, TEquate, THash>
Stores the graph as a set-hash of nodes and quadtree of edges.
GraphWeighted
Static helpers for IGraphWeighted<T, TWeight>.
GraphWeightedMap
Static helpers for GraphWeightedMap<T, TWeight, TEquate, THash>.
GraphWeightedMap<T, TWeight, TEquate, THash>
Implements a weighted graph. Implements a Dictionary of Nodes and edges.
Heap
Static helpers for IAvlTree<T, TCompare>.
HeapArray
Static helpers for HeapArray<T, TCompare>.
HeapArray<T, TCompare>
A heap with static priorities implemented as a array.
Link<T1>
Represents a link between objects.
Link<T1, T2>
Represents a link between objects.
Link<T1, T2, T3>
Represents a link between objects.
Link<T1, T2, T3, T4>
Represents a link between objects.
Link<T1, T2, T3, T4, T5>
Represents a link between objects.
Link<T1, T2, T3, T4, T5, T6>
Represents a link between objects.
Link<T1, T2, T3, T4, T5, T6, T7>
Represents a link between objects.
List
Contains static extension methods for IList types.
ListArray<T>
A list implemented as a growing array.
ListLinked<T>
Implements a growing, singularly-linked list data structure that inherits InterfaceTraversable.
Map
Static Extension class for Map interface implementers.
MapHashLinked
Static helpers.
MapHashLinked<T, TKey, TEquate, THash>
An unsorted structure of unique items.
Omnitree
Contains the necessary type definitions for the various omnitree types.
OmnitreePointsLinked<T, Axis1>
Omnitree that stores points along 1 dimensions implemented as a linked tree.
QueueArray<T>
Implements First-In-First-Out queue data structure using an array.
QueueLinked<T>
Implements First-In-First-Out queue data structure using a linked list.
RedBlackTree
Static helpers for IRedBlackTree<T> and IRedBlackTree<T, TCompare>.
RedBlackTreeLinked
Static helpers for RedBlackTreeLinked<T, TCompare>.
RedBlackTreeLinked<T, TCompare>
A self sorting binary tree using the red-black tree algorithms.
SetHashLinked
Static helpers for SetHashLinked<T, TEquate, THash>.
SetHashLinked<T, TEquate, THash>
An unsorted structure of unique items implemented as a hashed table of linked lists.
SkipList
Static helpers for SkipList<T, TCompare, TRandom>.
SkipList<T, TCompare, TRandom>
SkipList Data structure
SortedBinaryTree
Static members for ISortedBinaryTree<T> and ISortedBinaryTree<T, TCompare>.
StackArray<T>
Implements a First-In-Last-Out stack data structure using an array.
StackLinked<T>
Implements a First-In-Last-Out stack data structure using a linked list.
TreeMap
Static members for the TreeMap<T, TEquate, THash> type.
TreeMap<T, TEquate, THash>
A generic tree data structure using a dictionary to store node data.
Trie
Extension methods for ITrie<T> and ITrie<T, TData>.
TrieLinkedHashLinked
Static helpers.
TrieLinkedHashLinked<T, TEquate, THash>
A trie data structure that allows partial value sharing to reduce redundant memory.
Structs
LinkStruct<T1>
Represents a link between objects.
LinkStruct<T1, T2>
Represents a link between objects.
LinkStruct<T1, T2, T3>
Represents a link between objects.
LinkStruct<T1, T2, T3, T4>
Represents a link between objects.
LinkStruct<T1, T2, T3, T4, T5>
Represents a link between objects.
LinkStruct<T1, T2, T3, T4, T5, T6>
Represents a link between objects.
LinkStruct<T1, T2, T3, T4, T5, T6, T7>
Represents a link between objects.
Omnitree.Bound<T>
Represents a bound in ND space.
Omnitree.Bounds<A1>
Represents a 1D bounding box.
Omnitree.Bounds<A1, A2>
Represents a 2D bounding box.
Omnitree.Bounds<A1, A2, A3>
Represents a 3D bounding box.
Omnitree.Bounds<A1, A2, A3, A4>
Represents a 4D bounding box.
Omnitree.Bounds<A1, A2, A3, A4, A5>
Represents a 5D bounding box.
Omnitree.Bounds<A1, A2, A3, A4, A5, A6>
Represents a 6D bounding box.
Omnitree.Bounds<A1, A2, A3, A4, A5, A6, A7>
Represents a 7D bounding box.
Omnitree.Vector<A1>
Represents a 1D vector.
Omnitree.Vector<A1, A2>
Represents a 2D vector.
Omnitree.Vector<A1, A2, A3>
Represents a 3D vector.
Omnitree.Vector<A1, A2, A3, A4>
Represents a 4D vector.
Omnitree.Vector<A1, A2, A3, A4, A5>
Represents a 5D vector.
Omnitree.Vector<A1, A2, A3, A4, A5, A6>
Represents a 6D vector.
Omnitree.Vector<A1, A2, A3, A4, A5, A6, A7>
Represents a 7D vector.
Interfaces
DataStructure.IAddable<T>
Property of a data structure (does it have a Add method).
DataStructure.IAuditable<T>
Property of a data structure (does it have a contains method).
DataStructure.IClearable
Property of a data structure (does it have a Clear method).
DataStructure.IComparing<T, TCompare>
Represents a type that is comparing values of type T
.
DataStructure.ICountable
Property of a data structure (does it have a Count method).
DataStructure.IEquating<T, TEquate>
Represents a type that is equality checking values of type T
.
DataStructure.IHashing<T, THash>
Represents a type that is hashing values of type T
.
DataStructure.IRemovable<T>
Property of a data structure (does it have a Romove method).
IArray<T>
An indexed fixed-sized data structure.
IArray<T, TIndex>
An indexed fixed-sized data structure.
IAvlTree<T>
A self-sorting binary tree based on the heights of each node.
IAvlTree<T, TCompare>
A self-sorting binary tree based on the heights of each node.
IBag<T>
A bag between instances of two types. The polymorphism base for bag implementations in Towel.
IDataStructure<T>
Polymorphism base for all data structures in Towel.
IGraph<T>
A graph data structure that stores nodes and edges.
IGraphWeighted<T, TWeight>
A weighted graph data structure that stores nodes, edges with their corresponding weights.
IHeap<T>
Stores items based on priorities and allows access to the highest priority item.
IHeap<T, TCompare>
Stores items based on priorities and allows access to the highest priority item.
IList<T>
A primitive dynamic sized data structure.
IMap<T, TKey>
A map between instances of two types. The polymorphism base for Map implementations in Towel.
IOmnitree<T>
A Spacial Partitioning data structure.
IOmnitree<T, Axis1>
Inheritance base for 1D omnitrees.
IOmnitree<T, Axis1, Axis2>
Inheritance base for 2D omnitrees.
IOmnitree<T, Axis1, Axis2, Axis3>
Inheritance base for 3D omnitrees.
IOmnitree<T, Axis1, Axis2, Axis3, Axis4>
Inheritance base for 4D omnitrees.
IOmnitree<T, Axis1, Axis2, Axis3, Axis4, Axis5>
Inheritance base for 5D omnitrees.
IOmnitree<T, Axis1, Axis2, Axis3, Axis4, Axis5, Axis6>
Inheritance base for 6D omnitrees.
IOmnitree<T, Axis1, Axis2, Axis3, Axis4, Axis5, Axis6, Axis7>
Inheritance base for 7D omnitrees.
IOmnitreePoints<T, Axis1>
Inheritance base for 1D omnitrees that store points.
IQueue<T>
Implements First-In-First-Out queue data structure.
IRedBlackTree<T>
A self sorting binary tree using the red-black tree algorithms.
IRedBlackTree<T, TCompare>
A self sorting binary tree using the red-black tree algorithms.
ISet<T>
An unsorted structure of unique items.
ISortedBinaryTree<T>
A self-sorting binary tree based on the heights of each node.
ISortedBinaryTree<T, TCompare>
A self-sorting binary tree based on the heights of each node.
IStack<T>
Implements a First-In-Last-Out stack data structure.
ITree<T>
A generic tree data structure.
ITrie<T>
A trie data structure that allows partial value sharing to reduce redundant memory.
Link
Represents a link between objects.
Enums
Omnitree.Keyword
Omnitree keywords for syntax sugar.
Delegates
Omnitree.GetBoundings<T, A1>
Delegate for getting the 1D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2>
Delegate for getting the 2D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2, A3>
Delegate for getting the 3D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2, A3, A4>
Delegate for getting the 4D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2, A3, A4, A5>
Delegate for getting the 5D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2, A3, A4, A5, A6>
Delegate for getting the 6D bounding box of an item.
Omnitree.GetBoundings<T, A1, A2, A3, A4, A5, A6, A7>
Delegate for getting the 7D bounding box of an item.
Omnitree.GetBounds<T, A1>
Delegate for getting the 1D bounding box of an item.
Omnitree.GetBounds<T, A1, A2>
Delegate for getting the 2D bounding box of an item.
Omnitree.GetBounds<T, A1, A2, A3>
Delegate for getting the 3D bounding box of an item.
Omnitree.GetBounds<T, A1, A2, A3, A4>
Delegate for getting the 4D bounding box of an item.
Omnitree.GetBounds<T, A1, A2, A3, A4, A5>
Delegate for getting the 5D bounding box of an item.
Omnitree.GetBounds<T, A1, A2, A3, A4, A5, A6>
Delegate for getting the 6D bounding box of an item.
Omnitree.GetBounds<T, A1, A2, A3, A4, A5, A6, A7>
Delegate for getting the 7D bounding box of an item.
Omnitree.Location<T, A1>
Delegate for locating an item in 1D space.
Omnitree.Location<T, A1, A2>
Delegate for locating an item in 2D space.
Omnitree.Location<T, A1, A2, A3>
Delegate for locating an item in 3D space.
Omnitree.Location<T, A1, A2, A3, A4>
Delegate for locating an item in 4D space.
Omnitree.Location<T, A1, A2, A3, A4, A5>
Delegate for locating an item in 5D space.
Omnitree.Location<T, A1, A2, A3, A4, A5, A6>
Delegate for locating an item in 6D space.
Omnitree.Location<T, A1, A2, A3, A4, A5, A6, A7>
Delegate for locating an item in 7D space.
Omnitree.SubdivisionOverride<T, TAxis, TBounds>
A delegate for determining the point of subdivision in a set of values and current bounds.