31 template<
typename Inval
idateIndex>
36 this->storage_.reset();
40 std::unique_ptr<std::string> storage(
new std::string());
42 for (
const auto& key :
keys) {
43 if (key.size() > storage->max_size() - bytes) {
48 storage->reserve(bytes);
49 for (
const auto& key :
keys) {
51 storage->append(key.data(), key.size());
60 for (
const auto& key :
keys) {
61 preserved.emplace_back(storage->data() + offset, key.size());
67 this->storage_ = std::move(storage);
72 std::unique_ptr<std::string> storage_;