small_vector
small_vector copied to clipboard
A fully featured single header library implementing a vector container with a small buffer optimization.
I recently tried to use c++ 23 to write some code and found compiler gave me some warning that std::align_storage is deprecated. According to the comment, it can use alignas...
Due to style preferences, there are quite a few layers of function calls. While this doesn't hurt performance when compiled with optimization, when compiled in debug mode it is not...
Including the header seems to result in very very long compile times. Something should be done about that.
There are quite a few functions in `small_vector_base` which should really reside in `allocator_interface` since they don't use `InlineCapacity`. This results in a lot of pointless code duplication if multiple...
The library struct was added in C++20 (`__cpp_lib_type_identity`), and usage was added to `std::vector` in C++23. See https://en.cppreference.com/w/cpp/container/vector/vector.
In C++26, the comparison value type will default to the same as the vector value type. Evaluate if we can do this across all versions. https://en.cppreference.com/w/cpp/container/vector/erase2
Support was added to `std::vector` in C++23. Support should be added to the following: - Constructor - `assign_range` (new function) - `insert_range` (new function) - `append_range` (new function)