Fix extents creation from a list of extents to prevent overlapping extents to be added.

This commit is contained in:
2021-04-27 13:19:31 +01:00
parent 5e8a79d678
commit 493ba5dd4c
8 changed files with 70 additions and 14 deletions

View File

@@ -52,7 +52,14 @@ namespace Aaru.CommonTypes.Extents
/// <summary>Initializes extents with an specific list</summary>
/// <param name="list">List of extents as tuples "start, end"</param>
public ExtentsUInt(IEnumerable<Tuple<uint, uint>> list) => _backend = list.OrderBy(t => t.Item1).ToList();
public ExtentsUInt(IEnumerable<Tuple<uint, uint>> list)
{
_backend = new List<Tuple<uint, uint>>();
// This ensure no overlapping extents are added on creation
foreach(Tuple<uint, uint> t in list)
Add(t.Item1, t.Item2);
}
/// <summary>Gets a count of how many extents are stored</summary>
public int Count => _backend.Count;