diff --git a/Akade.IndexedSet.Tests/Akade.IndexedSet.Tests.csproj b/Akade.IndexedSet.Tests/Akade.IndexedSet.Tests.csproj
index 10dc89c..47efeb4 100644
--- a/Akade.IndexedSet.Tests/Akade.IndexedSet.Tests.csproj
+++ b/Akade.IndexedSet.Tests/Akade.IndexedSet.Tests.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/Akade.IndexedSet/Akade.IndexedSet.csproj b/Akade.IndexedSet/Akade.IndexedSet.csproj
index bde7d0d..1196a08 100644
--- a/Akade.IndexedSet/Akade.IndexedSet.csproj
+++ b/Akade.IndexedSet/Akade.IndexedSet.csproj
@@ -9,8 +9,7 @@
True
True
- 1.0.1
- beta
+ 1.1.0
Provides an In-Memory data structure, the IndexedSet, that allows to easily add indices to allow efficient querying. Currently supports unique and non-unique indices, range indices as well as fuzzy string matching for single attributes, compound or computed keys.
Copyright © Akade 2023
Akade
diff --git a/Akade.IndexedSet/PublicAPI.Shipped.txt b/Akade.IndexedSet/PublicAPI.Shipped.txt
index 515158e..107b858 100644
--- a/Akade.IndexedSet/PublicAPI.Shipped.txt
+++ b/Akade.IndexedSet/PublicAPI.Shipped.txt
@@ -4,7 +4,9 @@ Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Add(TElement element
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.AddRange(System.Collections.Generic.IEnumerable! elements) -> int
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Clear() -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Contains(System.Func! indexAccessor, System.ReadOnlySpan infix, string? indexName = null) -> System.Collections.Generic.IEnumerable!
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Contains(TElement element) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Count.get -> int
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Dispose() -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.FuzzyContains(System.Func! indexAccessor, System.ReadOnlySpan infix, int maxDistance, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.FuzzyStartsWith(System.Func! indexAccessor, System.ReadOnlySpan prefix, int maxDistance, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.GreaterThan(System.Func! indexAccessor, TIndexKey value, string? indexName = null) -> System.Collections.Generic.IEnumerable!
@@ -18,14 +20,21 @@ Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.MinBy(Sys
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.OrderBy(System.Func! indexAccessor, int skip = 0, int count = -1, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.OrderByDescending(System.Func! indexAccessor, int skip = 0, int count = -1, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Range(System.Func! indexAccessor, TIndexKey start, TIndexKey end, bool inclusiveStart = true, bool inclusiveEnd = false, string? indexName = null) -> System.Collections.Generic.IEnumerable!
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Read(System.Func!, System.Collections.Generic.IEnumerable!>! readFunc) -> System.Collections.Generic.IEnumerable!
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Read(TState state, System.Func!, TState, System.Collections.Generic.IEnumerable!>! readFunc) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Remove(TElement element) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Single(System.Func!>! indexAccessor, TIndexKey contains, string? indexName = null) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Single(System.Func! indexAccessor, TIndexKey indexKey, string? indexName = null) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.StartsWith(System.Func! indexAccessor, System.ReadOnlySpan prefix, string? indexName = null) -> System.Collections.Generic.IEnumerable!
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.TryGetSingle(System.Func! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.TryGetSingle(System.Func!>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.TryGetSingle(System.Func! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(System.Action!>! updateFunc) -> void
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, System.Action! updateFunc) -> bool
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, System.Func! updateFunc) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(System.Action!, TState>! updateFunc, TState state) -> void
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, TState state, System.Action! updateFunc) -> bool
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, TState state, System.Func! updateFunc) -> bool
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TState state, System.Action!, TState>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Where(System.Func!>! indexAccessor, TIndexKey contains, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Where(System.Func! indexAccessor, TIndexKey indexKey, string? indexName = null) -> System.Collections.Generic.IEnumerable!
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet
@@ -33,6 +42,7 @@ Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Contain
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Remove(TPrimaryKey key) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Single(TPrimaryKey key) -> TElement
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.this[TPrimaryKey key].get -> TElement
+Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(System.Action!>! updateFunc) -> void
Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(System.Action!, TState>! updateFunc, TState state) -> void
Akade.IndexedSet.IndexedSet
@@ -61,8 +71,8 @@ Akade.IndexedSet.IndexedSet.Remove(TElement element) -> bool
Akade.IndexedSet.IndexedSet.Single(System.Func!>! indexAccessor, TIndexKey contains, string? indexName = null) -> TElement
Akade.IndexedSet.IndexedSet.Single(System.Func! indexAccessor, TIndexKey indexKey, string? indexName = null) -> TElement
Akade.IndexedSet.IndexedSet.StartsWith(System.Func! indexAccessor, System.ReadOnlySpan prefix, string? indexName = null) -> System.Collections.Generic.IEnumerable!
-Akade.IndexedSet.IndexedSet.TryGetSingle(System.Func! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.IndexedSet.TryGetSingle(System.Func!>! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
+Akade.IndexedSet.IndexedSet.TryGetSingle(System.Func! indexAccessor, TIndexKey indexKey, out TElement? element, string? indexName = null) -> bool
Akade.IndexedSet.IndexedSet.Update(TElement element, System.Action! updateFunc) -> bool
Akade.IndexedSet.IndexedSet.Update(TElement element, System.Func! updateFunc) -> bool
Akade.IndexedSet.IndexedSet.Update(TElement element, TState state, System.Action! updateFunc) -> bool
@@ -75,6 +85,7 @@ Akade.IndexedSet.IndexedSet.IndexedSet(System.Func.Remove(TPrimaryKey key) -> bool
Akade.IndexedSet.IndexedSet.Single(TPrimaryKey key) -> TElement
Akade.IndexedSet.IndexedSet.this[TPrimaryKey key].get -> TElement
+Akade.IndexedSet.IndexedSet.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
Akade.IndexedSet.IndexedSetBuilder
Akade.IndexedSet.IndexedSetBuilder
Akade.IndexedSet.IndexedSetBuilder
@@ -100,4 +111,4 @@ virtual Akade.IndexedSet.IndexedSetBuilder.WithIndex(System
virtual Akade.IndexedSet.IndexedSetBuilder.WithIndex(System.Func! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder!
virtual Akade.IndexedSet.IndexedSetBuilder.WithPrefixIndex(System.Func! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder!
virtual Akade.IndexedSet.IndexedSetBuilder.WithRangeIndex(System.Func! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder!
-virtual Akade.IndexedSet.IndexedSetBuilder.WithUniqueIndex(System.Func! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder!
\ No newline at end of file
+virtual Akade.IndexedSet.IndexedSetBuilder.WithUniqueIndex(System.Func! keyAccessor, string? indexName = null) -> Akade.IndexedSet.IndexedSetBuilder!
diff --git a/Akade.IndexedSet/PublicAPI.Unshipped.txt b/Akade.IndexedSet/PublicAPI.Unshipped.txt
index 0fa3f45..ab058de 100644
--- a/Akade.IndexedSet/PublicAPI.Unshipped.txt
+++ b/Akade.IndexedSet/PublicAPI.Unshipped.txt
@@ -1,12 +1 @@
#nullable enable
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Dispose() -> void
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Read(System.Func!, System.Collections.Generic.IEnumerable!>! readFunc) -> System.Collections.Generic.IEnumerable!
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Read(TState state, System.Func!, TState, System.Collections.Generic.IEnumerable!>! readFunc) -> System.Collections.Generic.IEnumerable!
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, System.Action! updateFunc) -> bool
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, TState state, System.Action! updateFunc) -> bool
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, System.Func! updateFunc) -> bool
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TElement element, TState state, System.Func! updateFunc) -> bool
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Contains(TElement element) -> bool
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.Update(TState state, System.Action!, TState>! updateFunc) -> void
-Akade.IndexedSet.Concurrency.ConcurrentIndexedSet.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
-Akade.IndexedSet.IndexedSet.TryGetSingle(TPrimaryKey key, out TElement? result) -> bool
diff --git a/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Shipped.md b/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Shipped.md
index 7ae6c26..49009af 100644
--- a/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Shipped.md
+++ b/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Shipped.md
@@ -4,6 +4,7 @@
Rule ID | Category | Severity | Notes
--------|----------|----------|-------
-AkadeIndexedSet0001 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0001)
-AkadeIndexedSet0002 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0002)
-AkadeIndexedSet0003 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0003)
+AkadeIndexedSet0001 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0001)
+AkadeIndexedSet0002 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0002)
+AkadeIndexedSet0003 | Akade.IndexedSet.IndexNaming | Warning | IndexNamingRulesAnalyzer, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0003)
+AkadeIndexedSet0004 | Akade.IndexedSet.ConcurrencyRules | Error | ConcurrentSetUsageAnalyzers, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Analyzers/Readme.md#AkadeIndexedSet0004)
diff --git a/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Unshipped.md b/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Unshipped.md
index b18cad1..98ca60b 100644
--- a/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Unshipped.md
+++ b/Analyzers/Akade.IndexedSet.Analyzers/AnalyzerReleases.Unshipped.md
@@ -2,4 +2,3 @@
Rule ID | Category | Severity | Notes
--------|----------|----------|-------
-AkadeIndexedSet0004 | Akade.IndexedSet.ConcurrencyRules | Error | ConcurrentSetUsageAnalyzers, [Documentation](https://github.com/akade/Akade.IndexedSet/tree/main/Akade.IndexedSet.Analyzers/Readme.md#AkadeIndexedSet0004)
\ No newline at end of file