Skip to content

Commit dfda487

Browse files
committed
Fixed erase return iterator.
1 parent 639401d commit dfda487

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

include/interval-tree/interval_tree.hpp

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -885,14 +885,20 @@ namespace lib_interval_tree
885885
if (!iter.node_)
886886
throw std::out_of_range("cannot erase end iterator");
887887

888-
auto next = iter;
889-
++next;
888+
iterator next = iter;
890889

891890
node_type* y;
892891
if (!iter.node_->left_ || !iter.node_->right_)
892+
{
893893
y = iter.node_;
894+
++next;
895+
}
894896
else
897+
{
895898
y = successor(iter.node_);
899+
next = iterator{y, this};
900+
++next;
901+
}
896902

897903
node_type* x;
898904
if (y->left_)

0 commit comments

Comments
 (0)