SystemEX  Lacking
Additional generic collection types missing in .net
SystemEx.Collections.Generic Namespace Reference

Classes

class  Array< T >
 A dynamic array implementation that supports optional auto-growth, indexed access, insertion, removal, traversal, and basic search operations. More...
class  ArrayRandomAccessIterator< T >
class  BasicRope< T, TN >
class  BinQueue< T >
class  Cache
 Represents a low-level byte buffer with position tracking, typed read/write helpers, and optional locking behavior. More...
class  CacheIsSharedException
 Exception thrown when an operation is attempted on a shared or locked cache. More...
class  Cluster< T >
 Basic implementation of ICluster<T> representing a node with weighted children. More...
struct  ContainerFlexSpan< T, TContainer >
 A container-backed span-like view over any IContainerEx<T> . Unlike System.Span, this type provides mode-based indexing (System, Reverse, Ring) and supports mutable access through Replace(). More...
class  Deque< T >
struct  Find< T, TContainer >
class  FixedArray< T >
class  FixedMap< T, TU >
struct  FixedVector< T >
class  GroupNode< T >
interface  ICluster< T >
 Represents a cluster node in a weighted graph structure. More...
class  Map< T, TU >
class  MirroredCache
class  MultiMap< TT, TU >
struct  MultiSet< T, TContainer >
 Equivalent to a std::flat_multiset, but implemented as an open, non-owning sorted view over any IContainerEx instance. The MultiSet struct does not store elements itself; it maintains ordering by sorting the referenced container using either a user-provided sorting delegate or a built-in BubbleSort fallback when no delegate is supplied. More...
class  MultiTupleMap
class  Node< T >
 Represents a doubly linked node with optional child and sibling. Supports list-style navigation (Prev/Next), tree-style traversal, splicing, swapping, reversing, and random access movement. More...
class  NodeChain< T >
 Represents a chained view over multiple NodeRange<T> segments, similar to std::views::concat in C++.
A NodeChain<T> allows iteration across several disjoint ranges of a linked Node<T> structure as if they formed one continuous sequence. More...
class  NodeIterrator< T >
 Iterator for navigating through a doubly linked Node<T> chain. Supports random access, forward/backward movement, foreach enumeration, and cloning of iterator state. More...
struct  NodeRange< T >
struct  NodeSlice< T >
struct  Pair< T, TU >
class  PriorityQueueEx< T, TU >
 A priority queue implemented on top of SortedMap<T, TU>.
Elements are stored as Pair<T, TU> where T is the value and TU is the priority.
Supports enqueue, dequeue, peek, priority updates, cloning, and median‑based selection. More...
class  PriorityQueueExIterator< T, TU >
struct  Quad< TT, TU, TW, TJ >
class  Queue< T >
class  RopeChunkValue< T >
struct  Set< T, TContainer >
 Equivalent to a std::flat_set, but implemented as an open, non-owning sorted view over any IContainerEx instance. The Set struct does not store elements itself; it maintains ordering by sorting the referenced container using either a user-provided sorting delegate or a built-in BubbleSort fallback when no delegate is supplied. More...
class  SortedArray< T >
class  SortedFixedArray< T >
class  SortedMap< T, TU >
class  SortedMultiMap< T, TU >
 A map that allows multiple entries with the same key.
Unlike Map<T, TU>, which prevents duplicate pairs, a MultiMap<T, TU> accepts all entries without checking for existing keys or values. /// Sorting is performed eagerly whenever elements are added or inserted, depending on the SortedMap<T, TU> setting. More...
class  SortedMultiTupleMap
class  SortedTupleList
class  SortedTupleMap
class  Stack< T >
 A fixed‑size, backward‑growing stack implementation that supports multiple independent virtual stack layers sharing the same underlying buffer. More...
struct  StackLayer
class  StarNode< T >
class  StrippedCache
struct  Triple< TT, TU, TW >
class  Tuple
class  TupleList
class  TupleMap
class  TypeBuffer< T >
struct  UnorderedMultiSet< T, TContainer >
struct  UnorderedSet< T, TContainer >
struct  Vector< T >

Enumerations

enum  CacheType { CacheType.ToDevice , CacheType.FromDevice , CacheType.Both , CacheType.OnlySystem }
enum  SearchType { SearchType.SubtractWeight , SearchType.SetToWeight , SearchType.AccumulateCost }
enum  TraversOrder {
  TraversOrder.Preorder , TraversOrder.Inorder , TraversOrder.Postorder , TraversOrder.ListOrder ,
  TraversOrder.ReservListOrder
}

Functions

delegate void SortAction< TCompare, TContainer > (ref TContainer container, TCompare comparer)