25 lines
719 B
C++
25 lines
719 B
C++
|
// 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
|