Sundew.Base.Computation
12.0.3
See the version list below for details.
dotnet add package Sundew.Base.Computation --version 12.0.3
NuGet\Install-Package Sundew.Base.Computation -Version 12.0.3
<PackageReference Include="Sundew.Base.Computation" Version="12.0.3" />
paket add Sundew.Base.Computation --version 12.0.3
#r "nuget: Sundew.Base.Computation, 12.0.3"
// Install Sundew.Base.Computation as a Cake Addin #addin nuget:?package=Sundew.Base.Computation&version=12.0.3 // Install Sundew.Base.Computation as a Cake Tool #tool nuget:?package=Sundew.Base.Computation&version=12.0.3
Sundew.Base
Sundew.Base is a collection of smaller NuGet packages that work on various .NETStandard targets:
Collections
Contains various Linq style extension methods for collection types suchs IEnumerable, IReadOnlyList etc.
- For, ForEach, ForReverse, IndexOf, ToReadOnly.
- AllOrFailed extension allows seemless conversion from IEnumerable<TItem?> to IEnumerable<TItem>.
- OnlyOneOrDefault similar to SingleOrDefault, but never throws.
- DistinctInOrder items only appear once, while preserving order.
- ByCardinality extension allows checking whether an IEnumerable<TItem> is empty, has a single element or multiple elements.
- Value-Array, List and Dictionary* wrappers for Immutable collections with value semantics. (* Not on NETStandard1.2)
Primitives
- Result types (R<T, E> and R<E>)
- Option type T? (through extension methods).
Computation
- Attempter for implementing retry logic.
- Progress reporting
Numeric
- Interval represents an interval of two values.
- Percentage value type.
Time
- DateTime provider.
IO
- Paths - search upwards for relative paths.
Text
- AlignedString and AlignAndLimitFormatProvider providers aligning and length limiting string formatting.
- NamedFormatString allows to define a string format using names rather than indices.
- NaturalTextComparer does logical text comparison for all platforms with performance similar to the Windows specific StrCmpLogicalW.
- AppendItems allows joining items into a StringBuilder.
Initialization
- IInitializable for implementing async initialization logic.
- InitializeAction for wrapping an Action in an IInitializable.
- Initializer provides initialization of IInitializables.
- InitializeFlag for keeping tracking whether initialization is completed.
Disposal
- DisposeAction for wrapping an Action in an IDisposable.
- Disposer provides disposal of a fixed set of IDisposables.
- DisposableState provides an easy way to implement the Dispose(bool) pattern.
- DisposingDictionary allows building a list of IDisposables that supports disposal by a key and otherwise supports disposal in the same order.
- DisposingList allows building a list of IDisposables for disposal in the same order.
IAsyncDisposable is only supported on .NETStandard2.1
Equality
- ReferenceEqualityComparer compares objects by reference.
- TargetEqualityWeakReference is a weak reference that implements equality based on target equality.
Memory
- Buffer allows building arrays
- Split extensions allows Linq style splitting memory in to segments.
Threading and Threading.Jobs
- AsyncLazy provides a cancellable async lazy implementation
- AsyncLock provides async locking.
- Flag is an Interlocked.Exchanged based flag.
- CancellableJob is implementation of a cancellable task.
- ContinusJob is implementation of a cancellable task that keeps running.
Timers
- Timer is an easy to use and modify timer.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.3 is compatible. netstandard1.4 was computed. netstandard1.5 was computed. netstandard1.6 was computed. netstandard2.0 is compatible. netstandard2.1 is compatible. |
.NET Framework | net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Universal Windows Platform | uap was computed. uap10.0 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.3
- NETStandard.Library (>= 1.6.1)
- Sundew.Base.Equality (>= 12.0.3)
- Sundew.Base.Primitives (>= 12.0.3)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.0
- Sundew.Base.Equality (>= 12.0.3)
- Sundew.Base.Primitives (>= 12.0.3)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
- System.ValueTuple (>= 4.5.0)
-
.NETStandard 2.1
- Sundew.Base.Equality (>= 12.0.3)
- Sundew.Base.Primitives (>= 12.0.3)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 6.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
- System.ValueTuple (>= 4.5.0)
-
net6.0
- Sundew.Base.Equality (>= 12.0.3)
- Sundew.Base.Primitives (>= 12.0.3)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
- System.ValueTuple (>= 4.5.0)
-
net8.0
- Sundew.Base.Equality (>= 12.0.3)
- Sundew.Base.Primitives (>= 12.0.3)
- System.Buffers (>= 4.5.1)
- System.Memory (>= 4.5.5)
- System.Runtime.CompilerServices.Unsafe (>= 5.0.0)
- System.Threading.Tasks.Extensions (>= 4.5.4)
- System.ValueTuple (>= 4.5.0)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Sundew.Base.Computation:
Package | Downloads |
---|---|
Sundew.Base
All in one package including: Sundew.Base.Collections Sundew.Base.Disposal Sundew.Base.Equality Sundew.Base.Initialization Sundew.Base.Memory Sundew.Base.Primitives Sundew.Base.Computation Sundew.Base.Numeric Sundew.Base.Time Sundew.Base.IO Sundew.Base.Reporting Sundew.Base.Text Sundew.Base.Threading.Jobs Sundew.Base.Threading Sundew.Base.Timers |
|
Sundew.Generator
Sundew.Generator is a code generator aiming to provide an alternative or replacement for T4 templates. |
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
14.0.0-u20240619-232154-ci | 39 | 6/19/2024 |
14.0.0-u20240619-222527-ci | 29 | 6/19/2024 |
13.0.3 | 49 | 6/14/2024 |
13.0.3-u20240518-160748-ci | 36 | 5/18/2024 |
13.0.2 | 40 | 5/18/2024 |
13.0.1 | 76 | 4/22/2024 |
13.0.0 | 39 | 4/21/2024 |
13.0.0-u20240421-225911-ci | 41 | 4/21/2024 |
12.0.11 | 54 | 4/10/2024 |
12.0.10 | 56 | 4/1/2024 |
12.0.9 | 62 | 3/7/2024 |
12.0.8 | 54 | 3/6/2024 |
12.0.7 | 62 | 2/17/2024 |
12.0.6 | 83 | 2/15/2024 |
12.0.5 | 130 | 1/11/2024 |
12.0.4 | 60 | 12/20/2023 |
12.0.3 | 58 | 12/20/2023 |
12.0.3-u20231218-221551-ci | 64 | 12/18/2023 |
12.0.2 | 75 | 12/18/2023 |
12.0.1 | 83 | 12/18/2023 |
12.0.0-u20231217-235410-ci | 49 | 12/17/2023 |
12.0.0-u20231217-004830-ci | 83 | 12/17/2023 |
12.0.0-u20231215-231654-ci | 50 | 12/15/2023 |
11.0 - Unified Disposal and Initialization
10.0 - O.None was changed to a property
9.0 - Immutable collections with value semantics, Result type redesign and new Option type, AppendItems replaces AggregateToStringBuilder and JoinToStringBuilder.
8.5 - JoinToStringBuilder and AggregateToStringBuilder improvements
8.4 - AllOrFailed extension for IEnumerable<T>
8.3 - NamedFormatString and AsyncLazy improvements
8.2 - ToEnumerable returns IReadOnlyCollection, Added Disposer ctors to avoid ambiguous calls
8.1 - Added NaturalTextComparer
8.0 - Added NamedFormatProvider, removed Text Split, use Memory.Split instead
7.0 - Split into separate packages and cleanup