Hi John,
range_tree_in_range_adjacent() is not used in your code, and it
doesn't seem to be very useful in general case. range_tree_in_range()
can do the same thing (and you use it that way in the 2nd patch) and
is more flexible (can be paired with range_tree_next_in_range()). So I
think it can be dropped altogether.
Now, I'm wondering whether it actually makes sense to make a dedicatedSorry, not sure I quite understand what you're suggesting. Are you saying it doesn't make sense to have a generic range tree implementation, since really its just a small shim over the rbtree code? So instead range-tree users should just implment them themselves? Or something else?
interface out of the remaining bits.
Almost everything is common rb_tree-handling code that can be found in
any place where rb-trees are used (hard-coded for flexibility,
performance or whatever other reasons). So my feeling is that it
should not be different here.