Skip to content

Releases: 5cript/interval-tree

v3.0.0 Rewrite of punch

27 Jul 01:13
10c74a5
Compare
Choose a tag to compare

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

09 Jan 11:21
8232ca5
Compare
Choose a tag to compare

Allows the graph to be rendered as a dot file into a given ostream.

v2.3.2 Fixed copy assignment not compiling

21 Oct 14:54
b19afc3
Compare
Choose a tag to compare

What's Changed

  • Fixed copy assign not working. by @5cript in #40

Full Changelog: v2.3.1...v2.3.2

v2.3.1 Fixed typo in feature test by geoff-m

26 Aug 07:44
4b91cf4
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.3.0...v2.3.1

v2.3.0 Interval Types Now Meaningful

02 Aug 18:01
ba04ef5
Compare
Choose a tag to compare

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

31 Jul 15:04
a661ab1
Compare
Choose a tag to compare

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

30 Jul 17:51
639401d
Compare
Choose a tag to compare
Merge pull request #32 from 5cript/feat/unused-parameters

Removed parameter names.

v2.2.2 Node now has Derived Parameter

28 Jul 01:23
5fb287a
Compare
Choose a tag to compare

Nodes need CRTP to be useful in subclassing.
This was missing from the previous version.

v2.2.1 Allow Users to Inherit node

28 Jul 00:37
66aabf0
Compare
Choose a tag to compare

The node class now exposes its private members as protected for subclassing it.

v2.2.0 Added Tree Customization

28 Jul 00:25
4642367
Compare
Choose a tag to compare

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.