You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Mar 22, 2023. It is now read-only.
reverse_iterator has problems with current operator->() implementation in radix_tree::iterator
It would be nice to have some test for insert_or_assign / try_emplace where we use something like MoveableWrapper (something which is constructed from Moveable rvalue reference) as key and pass std::move(Moveable) to those methods. The we could check if the Moveable was actually moved from
Libcxx tests for erase(iterator)
Enable tests for radix (At least the code under ifdefs 'xxx' in tests/map/map_ctor_and_assignment.cpp and tests/map/map_txabort.cpp can be enabled)
change value_type from std::pair to detail::pair
optimize insert (implementation can take advantage of knowing the key)
allow inline_string modifications (range/at methods in inline string)
rollback iterator in case of transaction abort (in case of inline_string).
After some thought, this improvement could be quite hard to implement. One solution would be to rollback the iterator's internal state through on_abort callback. However, when on_abort callback is called the iterator might not exists anymore and we have no way (?) of checking if it's still alive.
radix_tree improvements
heterogeneous methods (opt-in, like for std::map)
optimized lower/upper_bound
reverse_iterator has problems with current operator->() implementation in radix_tree::iterator
It would be nice to have some test for insert_or_assign / try_emplace where we use something like MoveableWrapper (something which is constructed from Moveable rvalue reference) as key and pass std::move(Moveable) to those methods. The we could check if the Moveable was actually moved from
Libcxx tests for erase(iterator)
Enable tests for radix (At least the code under ifdefs 'xxx' in tests/map/map_ctor_and_assignment.cpp and tests/map/map_txabort.cpp can be enabled)
change value_type from std::pair to detail::pair
optimize insert (implementation can take advantage of knowing the key)
allow inline_string modifications (range/at methods in inline string)
rollback iterator in case of transaction abort (in case of inline_string).
After some thought, this improvement could be quite hard to implement. One solution would be to rollback the iterator's internal state through on_abort callback. However, when on_abort callback is called the iterator might not exists anymore and we have no way (?) of checking if it's still alive.