I see. It a stupid shortcoming of std::vector that you cannot resize without initializing. And I suppose only calling reserve() and accessing the uninitialized elements is not considered valid practice... OK for lunchbox::Buffer then!