BlockVector does utilize allocator interface completely.
Namely, it should not use placement new to construct values and the deconstructor at the memory pointer but the allocator_traits::construct/destroy methods.
Namely, it should not use placement new to construct values and the deconstructor at the memory pointer but the allocator_traits::construct/destroy methods.