summaryrefslogtreecommitdiff
path: root/pkg/rbtree/range.go
diff options
context:
space:
mode:
Diffstat (limited to 'pkg/rbtree/range.go')
-rw-r--r--pkg/rbtree/range.go8
1 files changed, 4 insertions, 4 deletions
diff --git a/pkg/rbtree/range.go b/pkg/rbtree/range.go
index d7325ee..9f67078 100644
--- a/pkg/rbtree/range.go
+++ b/pkg/rbtree/range.go
@@ -6,18 +6,18 @@ import (
// SearchRange is like Search, but returns all nodes that match the
// function; assuming that they are contiguous.
-func (t *Tree[K, V]) SearchRange(fn func(V) int) []*Node[V] {
+func (t *Tree[K, V]) SearchRange(fn func(V) int) []V {
middle := t.Search(fn)
if middle == nil {
return nil
}
- ret := []*Node[V]{middle}
+ ret := []V{middle.Value}
for node := t.Prev(middle); node != nil && fn(node.Value) == 0; node = t.Prev(node) {
- ret = append(ret, node)
+ ret = append(ret, node.Value)
}
util.ReverseSlice(ret)
for node := t.Next(middle); node != nil && fn(node.Value) == 0; node = t.Next(node) {
- ret = append(ret, node)
+ ret = append(ret, node.Value)
}
return ret
}