// Copyright (c) 2015, Facebook, Inc. All rights reserved. // This source code is licensed under the BSD-style license found in the // LICENSE file in the root directory of this source tree. An additional grant // of patent rights can be found in the PATENTS file in the same directory. #include "rocksdb/slice.h" namespace rocksdb { Slice::Slice(const SliceParts& parts, std::string* buf) { size_t length = 0; for (int i = 0; i < parts.num_parts; ++i) { length += parts.parts[i].size(); } buf->reserve(length); for (int i = 0; i < parts.num_parts; ++i) { buf->append(parts.parts[i].data(), parts.parts[i].size()); } data_ = buf->data(); size_ = buf->size(); } } // namespace rocksdb