Benedek Thaler wrote:
Dear Boost,
I'm happy to announce the new devector container developed as part of the GSoC programme reached a presentable state. I invite you to take a look and ask for feedback.
Hi Benedek, Some feedback: 1. For a given type T whose constructor can throw, and you have a loop constructing n objects of type T via std::allocator_traits<T>::construct - should you not be handling that potential construction failure? (i.e. Destroying those elements that were constructed before the constructor that throws, before re-throwing) e.g. Turning something like: for (i = 0; i < n; ++i) { // construct i } Into: try { for (i = 0; i < n; ++i) { // construct i } } catch (...) { for (; i > 0; i--) { // destroy i-1 } throw; } (My apologies if you already do this, and I missed it). 2. size_type being unsigned int instead of std::size_t - I understand the motivation, but could this not be customized - e.g. via another policy? Or should it not instead be based on std::allocator_traits<Allocator>::size_type instead? 3. I understand deriving from Allocator for EBO, but should that type be std::allocator_traits<Allocator>::rebind_alloc<T> instead? (And have the 'allocator_type' member typedef also be this rebound type) . Best, Glen