Enhanced C#
Language of your choice: library documentation
Classes | Enumerations
Loyc.Collections.Impl Namespace Reference

Contains helper classes and base classes for implementing collections (Loyc.Collections.Impl.InternalList<T>, Loyc.Collections.Impl.ListExBase<T>, Loyc.Collections.Impl.ListSourceBase<T>, etc.) Also contains the AList and CPTrie node classes, which perhaps should not be public... More...

Classes

class  AListIndexer
 Observes changes and builds a table of items in the tree. More...
 
class  AListInnerBase
 Internal implementation class. Shared base class of internal nodes for AList<T>, SparseAList<T>, BList<T>, BMultiMap<K,V> and BDictionary<K,V>. More...
 
class  AListLeaf
 Internal implementation class. Shared code of non-sparse AList leaf nodes. More...
 
class  AListLeafBase
 
class  AListNode
 Internal implementation class. Base class for tree nodes in a list class derived from AListBase<T>. These nodes basically form an in-memory B+tree, not necessarily sorted, but structured like a B+tree. That means there are two node types: leaf and inner (internal) nodes. More...
 
class  AListTreeObserverExt
 Helper methods for IAListTreeObserver<K,T>. More...
 
class  BListLeaf
 Internal implementation class. Leaf node of BList<T> and BDictionary<K,V>. More...
 
class  CollectionWithChangeEvents
 A collection wrapper that provides ListChanging and ListChanged events. You can also implement custom behavior by overriding its methods. More...
 
class  CollectionWrapper
 A simple base class that helps you use the decorator pattern on a collection. By default, all it does is forward every method to the underlying collection (including GetHashCode, Equals and ToString). You can change its behavior by overriding methods. More...
 
class  CPByteTrie
 A compact patricia trie that uses byte arrays as keys. More...
 
class  CPEnumerator
 Traverses a CPTrie<T>. Returned by CPTrie<T>.ValueEnumerator(). More...
 
class  CPIntTrie
 A trie that supports signed and unsigned keys with sizes up to 64 bits. Special encodings are used to preserve the sort order among integers of different sizes while using variable-length keys. More...
 
class  DictionaryBase
 A base class for user-defined dictionaries that want to implement both IDictionary(K,V) and IReadOnlyDictionary(K, V). More...
 
class  DictionaryWithChangeEvents
 A dictionary wrapper that provides ListChanging and ListChanged events. You can also implement custom behavior by overriding its methods. More...
 
class  DictionaryWrapper
 A simple base class that helps you use the decorator pattern on a dictionary. By default, all it does is forward every method to the underlying collection (including GetHashCode, Equals and ToString). You can change its behavior by overriding methods. More...
 
class  EnumeratorFrame
 A standard base class for enumerator frames used by NestedEnumerator{EnumeratorFrame{T},T}. More...
 
interface  IAListTreeObserver
 An interface that is called to notify observers when items or nodes in the tree of a class derived from AListBase<K,T> (e.g. AList or BList) are added or removed. More...
 
interface  IEnumeratorFrame
 Helper interface for NestedEnumerator<Frame, T>. More...
 
struct  InternalDList
 A compact auto-enlarging deque structure that is intended to be used within other data structures. It should only be used internally in "private" or "protected" members of low-level code. In most cases, you should use DList<T> instead. More...
 
class  InternalList
 A compact auto-enlarging array structure that is intended to be used within other data structures. It should only be used internally in "private" or "protected" members of low-level code. More...
 
struct  InternalSet
 A hash-trie data structure for use inside other data structures. More...
 
struct  InternalSetStats
 Statistics returned from InternalSet<T>.CountMemory. More...
 
class  KeylessHashtable
 A fairly obscure space-saving hashtable that offers no built-in way to store keys, only values. Because there are no keys, the hashtable cannot be rehashed when it is full, and searching for a given key finds all values in the same bucket, some of which may be unrelated. More...
 
class  KeylessHashtableTests
 
struct  KeyWalker
 Internal implementation class. Represents a pointer to a location within a byte array. More...
 
class  ListExBase
 A base class for classes that wish to implement IListEx<T>. Provides default implementations for most of the methods. More...
 
class  ListSourceBase
 A base class for read-only collections that wish to implement IList<T> and IListSource<T>. Provides default implementations for most of the methods. More...
 
class  ListWithChangeEvents
 A list wrapper that provides ListChanging and ListChanged events. You can also implement custom behavior by overriding its methods. More...
 
class  ListWrapper
 A simple base class that to helps you implement a "smart" collection. By default, all it does is forward every method to the underlying collection (including GetHashCode, Equals and ToString). You can change its behavior by overriding methods. More...
 
class  ReadOnlyCollectionBase
 Helps you implement read-only collections by providing default implementations for most methods of ICollection<T> and IReadOnlyCollection<T>. More...
 
struct  SCell
 Standard cell, used to encode keys in a CPSNode More...
 
class  SetWrapper
 A simple base class that helps you use the decorator pattern on a set. By default, all it does is forward every method to the underlying collection (including GetHashCode, Equals and ToString). You can change its behavior by overriding methods. More...
 
class  SparseAListLeaf
 Internal implementation class. Leaf node of SparseAList<T>. More...
 
class  TestHelpers
 Helpers methods for unit tests, especially used by Loyc collection classes but sometimes useful in other cases. More...
 

Enumerations

enum  CPMode {
  Create = 1, Set = 2, Find = 0,
  FixedStructure = 4
}
 

Detailed Description

Contains helper classes and base classes for implementing collections (Loyc.Collections.Impl.InternalList<T>, Loyc.Collections.Impl.ListExBase<T>, Loyc.Collections.Impl.ListSourceBase<T>, etc.) Also contains the AList and CPTrie node classes, which perhaps should not be public...