Foundation library for building other Smart libraries.
IDelegateFactoryβ abstraction for creating delegates from constructors/properties/fieldsPrimitiveConvertβ fast primitive type conversion helpers
ThreadsafeTypeHashArrayMap<TValue>β lock-minimized thread-safe dictionary keyed byTypeProjectionReadOnlyList<TSource, TResult>β lazily converted read-only list view- Extension methods for
ICollection,IDictionary,IEnumerable(ForEach,JoinToStringetc.)
ComponentContainer/ComponentConfigβ lightweight service locator / IoC containerNotificationObject/NotificationValue<T>βINotifyPropertyChangedbase implementationsDisposableObjectβ base class with dispose patternAtomicBoolean,AtomicInteger,AtomicReference<T>β atomic value wrappers
SpanReader<T>/SpanWriter<T>β ref struct sequential span readers/writersBufferWriterSlim<T>β stack-friendlyIBufferWriter<T>implementationPooledBufferWriter<T>/PooledMemoryStreamβArrayPool-backed writer and streamMemoryOwner<T>βIMemoryOwner<T>wrapper forArrayPoolBufferWriterSlim<char>string building extensions βWriteLine/WriteFormattable/ interpolatedAppend/ToStringAndClear- Extension methods for
Stream,IBufferWriter<byte>,TextReader
SpanTokenizerβ zero-allocation span-based string tokenizerInflectorβ English word inflection (pluralize / singularize / camelize etc.)JsonKeyCamelCaseNamingPolicyβSystem.Text.Jsonnaming policy
TaskExtensionsβForget(fire-and-forget) andTryWaitAsync(timeout-aware wait) forTask/ValueTask
BinarySearchβ binary search forSpan<T>, arrays,List<T>,IList<T>,IReadOnlyList<T>with delegate comparers