2016-02-09 23:12:00 +00:00
|
|
|
// Copyright (c) 2011-present, Facebook, Inc. All rights reserved.
|
2015-02-24 01:49:23 +00:00
|
|
|
// 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
|