To improve the performance of the bundle instance creation, we use the insert().
Change-Id: Iec2ddc05a1583a11612c40d6ef6d12a125ffabd8
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
std::vector<unsigned char> bytes;
for (const auto& key_info : list_) {
auto encoded_bytes = key_info->Encode();
- bytes.insert(bytes.end(), encoded_bytes.begin(), encoded_bytes.end());
+ bytes.insert(bytes.end(),
+ std::make_move_iterator(encoded_bytes.begin()),
+ std::make_move_iterator(encoded_bytes.end()));
}
gchar* checksum = g_compute_checksum_for_string(
if (raw == nullptr)
THROW(BUNDLE_ERROR_OUT_OF_MEMORY);
- std::copy(bytes.begin(), bytes.end(), raw);
+ std::copy(std::make_move_iterator(bytes.begin()),
+ std::make_move_iterator(bytes.end()), raw);
*size = static_cast<int>(bytes.size());
return raw;
}
unsigned char* p = reinterpret_cast<unsigned char*>(&total_size);
std::copy(&bytes[reader], &bytes[reader] + sizeof(total_size), p);
- std::vector<unsigned char> encoded_bytes;
- std::copy(&bytes[reader], &bytes[reader] + total_size,
- std::back_inserter(encoded_bytes));
+ std::vector<unsigned char> encoded_bytes(
+ &bytes[reader], &bytes[reader] + total_size);
reader += total_size;
KeyInfo* new_key_info;
for (int idx = 1; idx + 1 < argc; idx += 2) {
auto* p = reinterpret_cast<unsigned char*>(argv[idx +1]);
auto len = strlen(argv[idx + 1]) + 1;
- std::vector<unsigned char> value;
- std::copy(p, p + len, std::back_inserter(value));
+ std::vector<unsigned char> value(p, p + len);
KeyInfo* new_key_info;
try {
val = "";
auto* p = reinterpret_cast<unsigned char*>(const_cast<char*>(val));
- std::vector<unsigned char> value;
- std::copy(p, p + (strlen(val) + 1), std::back_inserter(value));
+ std::vector<unsigned char> value(p, p + (strlen(val) + 1));
values.push_back(std::move(value));
}
val = "";
auto* p = reinterpret_cast<unsigned char*>(const_cast<char*>(val));
- std::vector<unsigned char> value;
- std::copy(p, p + (strlen(val) + 1), std::back_inserter(value));
+ std::vector<unsigned char> value(p, p + (strlen(val) + 1));
try {
key_info = new KeyInfo(Bundle::Type::String, key, std::move(value));
// total size
unsigned char* p = reinterpret_cast<unsigned char*>(&encoded_size);
- std::copy(p, p + sizeof(encoded_size), std::back_inserter(bytes));
+ bytes.insert(bytes.end(), p, p + sizeof(encoded_size));
// type
p = reinterpret_cast<unsigned char*>(&type_);
- std::copy(p, p + sizeof(type_), std::back_inserter(bytes));
+ bytes.insert(bytes.end(), p, p + sizeof(type_));
// key size
std::size_t key_length = key_.length() + 1;
p = reinterpret_cast<unsigned char*>(&key_length);
- std::copy(p, p + sizeof(key_length), std::back_inserter(bytes));
+ bytes.insert(bytes.end(), p, p + sizeof(key_length));
// key
- std::copy(key_.begin(), key_.end() + 1, std::back_inserter(bytes));
+ bytes.insert(bytes.end(), key_.begin(), key_.end() + 1);
if (type_ & BUNDLE_TYPE_ARRAY) {
// values size
std::size_t values_size = values_.size();
p = reinterpret_cast<unsigned char*>(&values_size);
- std::copy(p , p + sizeof(values_size), std::back_inserter(bytes));
+ bytes.insert(bytes.end(), p , p + sizeof(values_size));
}
// values
for (unsigned int i = 0; i < values_.size(); i++) {
std::size_t value_size = values_size_[i];
p = reinterpret_cast<unsigned char*>(&value_size);
- std::copy(p, p + sizeof(value_size), std::back_inserter(bytes));
+ bytes.insert(bytes.end(), p, p + sizeof(value_size));
- std::copy(values_[i].get(), values_[i].get() + value_size,
- std::back_inserter(bytes));
+ bytes.insert(bytes.end(), values_[i].get(), values_[i].get() + value_size);
}
return bytes;
auto* p = reinterpret_cast<const unsigned char*>(bytes);
std::vector<unsigned char> value;
if (bytes)
- std::copy(p, p + size, std::back_inserter(value));
+ value.insert(value.end(), p, p + size);
KeyInfo* key_info;
try {
std::vector<unsigned char> value;
if (bytes) {
auto* p = reinterpret_cast<unsigned char*>(const_cast<void*>(bytes));
- std::copy(p, p + size, std::back_inserter(value));
+ value.insert(value.end(), p, p + size);
}
auto* h = reinterpret_cast<Bundle*>(b);