I wonder if stable_vector could benefit from list-like operations such as splicing, sorting, reversing etc. while preserving pointers and iterators. These would generally work by transforming the pointer vector and updating the "up" pointers.
It might also be interesting to add a facility for swapping two nodes while preserving their respective pointers and iterators. (For std::list, this is usually done by splicing, but for stable_vector that could be prohibitively expensive as it would mean allocating a temporary.)
Let me know if this sounds reasonable. Happy to cook up a PR.
I wonder if
stable_vector
could benefit fromlist
-like operations such as splicing, sorting, reversing etc. while preserving pointers and iterators. These would generally work by transforming the pointer vector and updating the "up" pointers.It might also be interesting to add a facility for swapping two nodes while preserving their respective pointers and iterators. (For
std::list
, this is usually done by splicing, but forstable_vector
that could be prohibitively expensive as it would mean allocating a temporary.)Let me know if this sounds reasonable. Happy to cook up a PR.