Velentr.Collections
3.0.1.3
See the version list below for details.
dotnet add package Velentr.Collections --version 3.0.1.3
NuGet\Install-Package Velentr.Collections -Version 3.0.1.3
<PackageReference Include="Velentr.Collections" Version="3.0.1.3" />
<PackageVersion Include="Velentr.Collections" Version="3.0.1.3" />
<PackageReference Include="Velentr.Collections" />
paket add Velentr.Collections --version 3.0.1.3
#r "nuget: Velentr.Collections, 3.0.1.3"
#addin nuget:?package=Velentr.Collections&version=3.0.1.3
#tool nuget:?package=Velentr.Collections&version=3.0.1.3
Velentr.Collections
A variety of helpful collections, with a focus on thread-safety.
Installation
Nuget
The recommended installation approach is to use the available nuget package: Velentr.Collections
Clone
Alternatively, you can clone this repo and reference the Velentr.Collections project in your project.
Available Collections
Collection | Description | Min Supported Library Version | Documentation |
---|---|---|---|
BiDirectionalDictionary | A dictionary where you can access the value for a given key, and the key for a given value | 1.2.0 | Documentation |
SizeLimitedList | A list that is limited in maximum capacity and will automatically remove items when it reaches capacity | 1.1.0 | Documentation |
SizeLimitedDictionary | A dictionary that is limited in maximum capacity and will automatically remove items when it reaches capacity | 1.1.0 | Documentation |
Pool | 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 | Documentation |
History | A collection that keeps track of the history of items added and removed from it. It can be used to track changes over time. | 1.0.0 | Documentation |
ConcurrentPriorityQueue | A thread-safe priority queue where the item with the lowest priority is returned on dequeue | 1.0.0 | Documentation |
ConcurrentPool | A thread-safe 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 | Documentation |
ConcurrentSizeLimitedList | A thread-safe list that is limited in maximum capacity and automatically removes excess items when it is full | 1.0.0 | Documentation |
LockFreePriorityQueue | A lock-free priority queue where the item with the lowest priority is returned on dequeue | 1.0.0 | Documentation |
LockFreeList | A lock-free linked list implementation | 1.0.0 | Documentation |
LockFreeQueue | A lock-free queue implementation | 1.0.0 | Documentation |
LockFreeStack | A lock-free stack implementation | 1.0.0 | Documentation |
NOTES:
- Collections.Concurrent collections: Collections under this namespace utilize .NET Concurrent collections
- Lock-Free: Collections under this namespace utilize custom lock-free base collections
Future Collections
- LockFreeArrayList: A lock-free array list implementation
- LockFreePool: A lock-free pool implementation. Previously was implemented in this library, but removed due to testing results and need for heavy refactoring.
Deprecated Collections
Collection | Deprecation Reason | Deprecation Library Version | Max Available Library Version |
---|---|---|---|
DictionaryCache | Use .NET ImmutableDictionary instead. | 2.0.2 | 2.0.2 |
OrderedDictionary | Use .NET OrderedDictionary instead. | 2.0.2 | 2.0.2 |
SizeLimitedPool | Use Velentr.Collections.Pool instead. | 2.0.2 | 2.0.2 |
HistoryCollection | Use Velentr.Collections.History instead. | 2.0.2 | 2.0.2 |
LockFreePool | In need of heavy refactoring and testing. | 2.0.2 | 2.0.2 |
LockFreeLimitedPriorityQueue | Use Velentr.Collections.LockFree.LockFreePriorityQueue instead. | 2.0.2 | 2.0.2 |
ConcurrentLimitedPriorityQueue | Use Velentr.Collections.Concurrent.ConcurrentPriorityQueue instead. | 2.0.2 | 2.0.2 |
Development
- Clone or fork the repo
- Create a new branch
- Code!
- Push your changes and open a PR
- Once approved, they'll be merged in
- Profit!
Future Plans
See list of issues under the Milestones: https://github.com/vonderborch/Velentr.Collections/milestones
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net9.0
- Velentr.Core (>= 3.1.1.5)
NuGet packages (17)
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 |
---|---|---|
3.1.0.7 | 32 | 5/19/2025 |
3.0.1.3 | 187 | 5/15/2025 |
3.0.0.2 | 191 | 5/15/2025 |
3.0.0.1 | 188 | 5/15/2025 |
2.0.2 | 1,171 | 11/17/2022 |
2.0.1 | 359 | 11/17/2022 |
2.0.0 | 347 | 11/17/2022 |
1.2.3 | 675 | 7/26/2022 |
1.2.2 | 1,424 | 5/20/2022 |
1.2.1 | 446 | 5/20/2022 |
1.2.0 | 5,343 | 11/10/2021 |
1.1.3 | 3,017 | 4/28/2021 |
1.1.2 | 528 | 4/28/2021 |
1.1.1 | 403 | 4/28/2021 |
1.1.0 | 409 | 4/28/2021 |
1.0.5 | 1,452 | 4/15/2021 |
1.0.4 | 417 | 4/15/2021 |
1.0.3 | 1,049 | 4/15/2021 |
1.0.2 | 384 | 4/15/2021 |
1.0.1 | 2,606 | 4/6/2021 |
1.0.0 | 476 | 4/6/2021 |