Formats file
Updates set operations during rotations to avoid delete already created sets
Updates Maximum Depth for preconstructed trees.
Rearranges methods for preconstruction.
Moves Maximum Depth methods to own region in Node
Changes addLow to check for insertion in IntervalsEndingInNode thereby avoiding unnecessary calls to addHigh if intervals wasn't added.
Improves speed by replacing properties in inner class with public fields.
Makes sure the collection is iterated completely using Count() instead of just using Any()
Removes invariant helper method as it was a bit overkill
Moves interval interfaces to C5.intervals namespace
Adds AllowsOverlaps to IIntervalCollection to signal finite data structures. This allows for better contracts for those data structures that don't allow overlaps.
Fixes the generic tests to take the AllowsOverlaps variable into account.
Renames OverlapWith to Overlap per Ben's suggestion
Fixes last two contracts on IIntervalCollection to take AllowsOverlaps into account.
Adds the all new Doubly-Linked Finite Interval Tree to C5 Intervals. The data structure only supports non-overlapping intervals, but thereby allow addition and removal in logarithmic time, querying in O(lg(N)+k) time as well as fast enumeration in both descending and ascending order. It fully supports IIntervalCollection and all its methods.
Expands tests with trying to remove interval duplicate
Fixes test to use the new Overlap method instead of OverlapWith
Removes unused using
Adds Gaps and FindGaps to IIntervalCollection.
Removes regions class from IIntervalCollection.