Releases: 5cript/interval-tree
v3.0.0 Rewrite of punch
Breaking Changes:
- the within function is now required for user intervals.
- insert_overlaps third parameter is now true by default.
- Rewrote punch, which now works differently depending on the interval types. It now also works for all passed intervals, not just intervals that are larger than the entire span of the tree.
Changes:
- Changed third parameter of insert_overlap to "recursive" for all kinds of intervals. This will merge insert until there is no longer an overlap.
- Made some robustness changes for unsigned int intervals.
Added draw dot graph function
Allows the graph to be rendered as a dot file into a given ostream.
v2.3.2 Fixed copy assignment not compiling
v2.3.1 Fixed typo in feature test by geoff-m
v2.3.0 Interval Types Now Meaningful
Previously the library only really dealt with closed intervals.
This update gives the following interval types:
- closed [a, b]
- open (a, b)
- left_open (a, b]
- right_open [a, b)
- closed_adjacent [a, b] (like closed but counts adjacent intervals as overlapping)
- dynamic (any of the above, slower because its more logic heavy.)
closed is still the default.
interval.size() now returns the amount of elements in the interval when the interval is integral. Used to always return high - low.
This might be a breaking change in your code, but version counts it as a bugfix.
v2.2.4 Fixed Erase Iterator Return
The returned iterator of the erase function sometimes pointed to the deleted node!
This fixes this issue.
v2.2.3 Fixed some Unused Parameter Warnings
Merge pull request #32 from 5cript/feat/unused-parameters Removed parameter names.
v2.2.2 Node now has Derived Parameter
Nodes need CRTP to be useful in subclassing.
This was missing from the previous version.
v2.2.1 Allow Users to Inherit node
The node class now exposes its private members as protected for subclassing it.
v2.2.0 Added Tree Customization
The interval tree can now be customized using the tree hook template parameter.
Since this allows for breaking encapsulation, care has to be taken to not break the state invariants of the tree.
This feature might still be subject to breaking changes in the future.