Improve sorted_vector_types standard compliance
Summary: Note that we only provide the strong exception guarantee for single key insertion and emplacement when `std::is_nothrow_constructible<value_type>::value == true`. We could `static_assert()` that in `sorted_vector_set`, since it seems to hold for all contbuilds. But for `sorted_vector_map` there are quite a few contbuilds broken by that static assert. So I've chosen not to static assert in `sorted_vector_set` for consistency. `insert()`, `emplace*()` and `erase()` take `const_iterator` in compliance with C++11. `erase()` has an overload that takes an `iterator` in C++17, but since we are backed by a vector I don't think that is necessary. Add `emplace_hint()` variants. Reviewed By: yfeldblum Differential Revision: D16427231 fbshipit-source-id: 4bcf6fd01d9b1320548d12b152d1cef9291c2dd2
Showing
Please register or sign in to comment