Tree RangeSet

A Range and RangeSet implementation based on search trees.

This library is a replacement for array-based range/interval handling libraries drange and range-set designed with performance on large sets in mind. It offers better search complexity, O(log(n)) vs O(n), and a better average update performance, with the worst case scenario matching the former's O(n), see Performance. The performance improvements happen at a cost of higher memory consumption, depending on an underlying search tree implementation.

This library's design was inspired by Guava's RangeSet.