Merge pull request #6601 from nekto0n/interval_tree_fast_stab

adt: fast path Stab in empty interval tree
This commit is contained in:
Xiang Li 2016-10-07 09:13:23 -07:00 committed by GitHub
commit e2bd6f2213

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