diff --git a/IntervalTree.h b/IntervalTree.h index 1bf2c20..5ed3405 100644 --- a/IntervalTree.h +++ b/IntervalTree.h @@ -158,6 +158,18 @@ class IntervalTree { assert(is_valid().first); } + Scalar min() const { + assert(!empty()); + if (left) { return left->min(); } + return std::min_element(intervals.begin(), intervals.end(), + IntervalStartCmp())->start; + } + Scalar max() const { + assert(!empty()); + if (right) { return right->max(); } + return std::max_element(intervals.begin(), intervals.end(), + IntervalStopCmp())->stop; + } // Call f on all intervals near the range [start, stop]: template void visit_near(const Scalar& start, const Scalar& stop, UnaryFunction f) const {