Velentr.Collections 2.0.2

dotnet add package Velentr.Collections --version 2.0.2                
NuGet\Install-Package Velentr.Collections -Version 2.0.2                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Velentr.Collections" Version="2.0.2" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Velentr.Collections --version 2.0.2                
#r "nuget: Velentr.Collections, 2.0.2"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Velentr.Collections as a Cake Addin
#addin nuget:?package=Velentr.Collections&version=2.0.2

// Install Velentr.Collections as a Cake Tool
#tool nuget:?package=Velentr.Collections&version=2.0.2                

Velentr.Collections

A variety of helpful collections.

Installation

NuGet version (Velentr.Collections)

A nuget package is available: Velentr.Collections

Available Collections

Namespace Collection Description Min Supported Library Version Example Usage
Collections.Concurrent ConcurrentLimitedPriorityQueue A priority queue that utilizes a list of available priorities based on a PriorityConverter 1.0.0 var c = new ConcurrentLimitedPriorityQueue<int, string>(new StringPriorityConverter());
Collections.Concurrent ConcurrentPriorityQueue A priority queue that has priorities available based on the QueuePriority enum 1.0.0 var c = new ConcurrentPriorityQueue<string>();
Collections.Concurrent ConcurrentPool A pool of objects that can be used to hold objects and define a maximum amount. More efficient generally for games as it can help reduce garbage collection 1.0.0 var c = new ConcurrentPool<object>();
Collections.LockFree LockFreeLimitedPriorityQueue A priority queue that utilizes a list of available priorities based on a PriorityConverter 1.0.0 var c = new LockFreeLimitedPriorityQueue<int, string>(new StringPriorityConverter());
Collections.LockFree LockFreePriorityQueue A priority queue that has priorities available based on the QueuePriority enum 1.0.0 var c = new LockFreePriorityQueue<string>();
Collections.LockFree LockFreePool A pool of objects that can be used to hold objects and define a maximum amount. More efficient generally for games as it can help reduce garbage collection 1.0.0 var c = new LockFreePool<object>();
Collections.LockFree LockFreeQueue A lock-free Queue implementation 1.0.0 var c = new LockFreeQueue<string>();
Collections.LockFree LockFreeStack A lock-free Stack implementation 1.0.0 var c = new LockFreeStack<string>();
Collections OrderedDictionary A Collection that combines functionality of a dictionary and a list. 1.1.0 var c = new OrderedDictionary<string, List<string>>();
Collections SizeLimitedOrderedDictionary A Collection that combines functionality of a dictionary and a list and that is also limited in max capacity. 1.1.3 var c = new OrderedDictionary<string, List<string>>();
Collections DictionaryCache A Thread-Safe and Lock-Free dictionary optimized for reads 1.1.0 var c = new DictionaryCache<string, int>();
Collections SizeLimitedList A list that is limited in max capacity 1.1.0 var c = new SizeLimitedList<string>();
Collections HistoryCollection A collection implementing undo and redo functionality 1.2.0 var c = new HistoryCollection<string>();
Collections BiDirectionalDictionary A bi-directional dictionary, where you can access the value for a key/value pair using the key or vice-versa 1.2.0 var c = new HistoryCollection<string>();

NOTES:

  • Collections.Concurrent collections: Collections under this namespace utilize .NET Concurrent collections internally
  • Lock-Free: Collections under this namespace utilize custom lock-free base collections

Deprecated Collections

Collection Description Max Supported Library Version
Bank A Collection that combines functionality of a dictionary and a list. Renamed to OrderedDictionary in 1.1.0. 1.0.5
Cache A Thread-Safe and Lock-Free dictionary optimized for reads. Renamed to DictionaryCache in 1.1.0. 1.0.5

Future Plans

See list of issues under the Milestones: https://github.com/vonderborch/Velentr.Collections/milestones

Product Compatible and additional computed target framework versions.
.NET 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 was computed.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (16)

Showing the top 5 NuGet packages that depend on Velentr.Collections:

Package Downloads
Velentr.Miscellaneous

Miscellaneous helper methods and things that are useful for various purposes.

Velentr.Font.Monogame

An alternative solution for Monogame/FNA/XNA-derived frameworks that utilizes SharpFont to draw text rather than the traditional SpriteFont approach.

Velentr.Font.FNA

An alternative solution for Monogame/FNA/XNA-derived frameworks that utilizes SharpFont to draw text rather than the traditional SpriteFont approach.

Velentr.Input.FNA

A simple and easy-to-use input library for XNA/Monogame/FNA.

Velentr.Logging

A simple, extensible, and easy-to-use logging library.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
2.0.2 1,141 11/17/2022
2.0.1 337 11/17/2022
2.0.0 325 11/17/2022
1.2.3 650 7/26/2022
1.2.2 1,397 5/20/2022
1.2.1 421 5/20/2022
1.2.0 5,290 11/10/2021
1.1.3 2,970 4/28/2021
1.1.2 495 4/28/2021
1.1.1 370 4/28/2021
1.1.0 371 4/28/2021
1.0.5 1,419 4/15/2021
1.0.4 385 4/15/2021
1.0.3 1,017 4/15/2021
1.0.2 352 4/15/2021
1.0.1 2,572 4/6/2021
1.0.0 413 4/6/2021