adt: fast path Stab in empty interval tree

This commit is contained in:
Nikita Vetoshkin 2016-10-06 22:41:33 +05:00
parent fa1e28102e
commit eae70c9379

View File

@ -447,6 +447,9 @@ func (ivt *IntervalTree) Contains(iv Interval) bool {
// Stab returns a slice with all elements in the tree intersecting the interval.
func (ivt *IntervalTree) Stab(iv Interval) (ivs []*IntervalValue) {
if ivt.count == 0 {
return nil
}
f := func(n *IntervalValue) bool { ivs = append(ivs, n); return true }
ivt.Visit(iv, f)
return ivs