A shared group of libraries for all Veruthian dotnet projects.
- Contains a new hiearchy of collection interfaces/classes based on IEnumerable
- Extension methods to easily created collections from existing types
- IContainer : IEnumerable
- IExpandableContainer : IContainer => DataSet
- IPool<K, A> : IContainer<(K, A)>
- ILookup<K, V> : IContainer => NestedDataLookup, SequentialDataLookup
- IMutableLookup<K, V> : ILookup<K, V>
- IExpandableLookup<K, V> : ILookup<K, V> => DataLookup
- IIndex<K, V>: ILookup<K, V>
- IMutableIndex<K, V>: IIndex<K, V>, IMutableLookup<K, V> => DataArray
- IOrderedIndex<K, V>: IIndex<K, V>, IExpandableContainer => SortedDataList, SortedDataSet
- IExpandableIndex<K, V> : IIndex<K, V>, IExpandableLookup<K, V>, IExpandableContainer => DataList
- Contains interfaces for generalizing features of numerics
- Powerful BitTwiddler struct to manipulate 64 bits in a variety of way
- Contains Range and RangeSet classes for dealing with ranged values
- Contains interfaces for basic data processing "machines"
- Extensions for streams and transformers
-
Contains generic classes for reading through IEnumerables
- Reader -> Reads one item at a time
- LookaheadReader -> capability of lookahead n/unlimited items
- SpeculativeReader -> capable of looking ahead or marking and backtracking
-
Extensions to easily create readers from IEnumerable
Veruthian.Libary.Text.Encodings
- Contains classes for processing Utf8, Utf16, and Utf32
- Contains Transformers for processing bytes into Utf32
Veruthian.Libary.Text.Lines
- Contains classes for processing text into lines
Veruthian.Libary.Text.Runes
- Contains classes for dealing with Runes/Codepoints
- Rune, RuneString, RuneBuffer,RuneLineTable,RuneSet
Veruthian.Libary.Text.Chars
- Contains classes for dealing with chars/strings
- Better Enum class base
- TypeSets and Extensions
- Utility functionality
- IsNull extension
- HashCode generator