Simplify `std::copy` with `std::copy_n`
+ a surprise `std::memcpy` in VolumeVerifier.cpp.
This commit is contained in:
parent
2b22e6ffc9
commit
7c96762f5f
|
@ -382,7 +382,7 @@ void FifoRecorder::UseMemory(u32 address, u32 size, MemoryUpdate::Type type, boo
|
||||||
memUpdate.fifoPosition = (u32)(m_FifoData.size());
|
memUpdate.fifoPosition = (u32)(m_FifoData.size());
|
||||||
memUpdate.type = type;
|
memUpdate.type = type;
|
||||||
memUpdate.data.resize(size);
|
memUpdate.data.resize(size);
|
||||||
std::copy(newData, newData + size, memUpdate.data.begin());
|
std::copy_n(newData, size, memUpdate.data.begin());
|
||||||
|
|
||||||
m_CurrentFrame.memoryUpdates.push_back(std::move(memUpdate));
|
m_CurrentFrame.memoryUpdates.push_back(std::move(memUpdate));
|
||||||
}
|
}
|
||||||
|
|
|
@ -543,8 +543,7 @@ void Core::RunCommand(Command& command)
|
||||||
{
|
{
|
||||||
int recvd = GBASIOJOYSendCommand(
|
int recvd = GBASIOJOYSendCommand(
|
||||||
&m_sio_driver, static_cast<GBASIOJOYCommand>(command.buffer[0]), &command.buffer[1]);
|
&m_sio_driver, static_cast<GBASIOJOYCommand>(command.buffer[0]), &command.buffer[1]);
|
||||||
std::copy(command.buffer.begin() + 1, command.buffer.begin() + 1 + recvd,
|
std::copy_n(command.buffer.begin() + 1, recvd, std::back_inserter(m_response));
|
||||||
std::back_inserter(m_response));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_thread && !m_response_ready)
|
if (m_thread && !m_response_ready)
|
||||||
|
|
|
@ -275,7 +275,7 @@ int IOWritePerWriteFile(HANDLE& dev_handle, OVERLAPPED& hid_overlap_write,
|
||||||
// This is currently needed by the Toshiba Bluetooth Stack.
|
// This is currently needed by the Toshiba Bluetooth Stack.
|
||||||
if ((write_method == WWM_WRITE_FILE_LARGEST_REPORT_SIZE) && (MAX_PAYLOAD > len))
|
if ((write_method == WWM_WRITE_FILE_LARGEST_REPORT_SIZE) && (MAX_PAYLOAD > len))
|
||||||
{
|
{
|
||||||
std::copy(buf, buf + len, resized_buffer);
|
std::copy_n(buf, len, resized_buffer);
|
||||||
std::fill(resized_buffer + len, resized_buffer + MAX_PAYLOAD, 0);
|
std::fill(resized_buffer + len, resized_buffer + MAX_PAYLOAD, 0);
|
||||||
write_buffer = resized_buffer + 1;
|
write_buffer = resized_buffer + 1;
|
||||||
bytes_to_write = MAX_PAYLOAD - 1;
|
bytes_to_write = MAX_PAYLOAD - 1;
|
||||||
|
|
|
@ -413,7 +413,7 @@ void BluetoothEmuDevice::ACLPool::Store(const u8* data, const u16 size, const u1
|
||||||
m_queue.push_back(Packet());
|
m_queue.push_back(Packet());
|
||||||
auto& packet = m_queue.back();
|
auto& packet = m_queue.back();
|
||||||
|
|
||||||
std::copy(data, data + size, packet.data);
|
std::copy_n(data, size, packet.data);
|
||||||
packet.size = size;
|
packet.size = size;
|
||||||
packet.conn_handle = conn_handle;
|
packet.conn_handle = conn_handle;
|
||||||
}
|
}
|
||||||
|
@ -438,7 +438,7 @@ void BluetoothEmuDevice::ACLPool::WriteToEndpoint(const USB::V0BulkMessage& endp
|
||||||
header->length = size;
|
header->length = size;
|
||||||
|
|
||||||
// Write the packet to the buffer
|
// Write the packet to the buffer
|
||||||
std::copy(data, data + size, (u8*)header + sizeof(hci_acldata_hdr_t));
|
std::copy_n(data, size, (u8*)header + sizeof(hci_acldata_hdr_t));
|
||||||
|
|
||||||
m_queue.pop_front();
|
m_queue.pop_front();
|
||||||
|
|
||||||
|
|
|
@ -153,8 +153,7 @@ bool SectorReader::Read(u64 offset, u64 size, u8* out_ptr)
|
||||||
u32 can_read = m_block_size * cache->num_blocks - read_offset;
|
u32 can_read = m_block_size * cache->num_blocks - read_offset;
|
||||||
u32 was_read = static_cast<u32>(std::min<u64>(can_read, remain));
|
u32 was_read = static_cast<u32>(std::min<u64>(can_read, remain));
|
||||||
|
|
||||||
std::copy(cache->data.begin() + read_offset, cache->data.begin() + read_offset + was_read,
|
std::copy_n(cache->data.begin() + read_offset, was_read, out_ptr);
|
||||||
out_ptr);
|
|
||||||
|
|
||||||
offset += was_read;
|
offset += was_read;
|
||||||
out_ptr += was_read;
|
out_ptr += was_read;
|
||||||
|
|
|
@ -130,7 +130,7 @@ bool CompressedBlobReader::GetBlock(u64 block_num, u8* out_ptr)
|
||||||
|
|
||||||
if (uncompressed)
|
if (uncompressed)
|
||||||
{
|
{
|
||||||
std::copy(m_zlib_buffer.begin(), m_zlib_buffer.begin() + comp_block_size, out_ptr);
|
std::copy_n(m_zlib_buffer.begin(), comp_block_size, out_ptr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -107,8 +107,7 @@ bool DiscContent::Read(u64* offset, u64* length, u8** buffer, DirectoryBlobReade
|
||||||
else if (std::holds_alternative<ContentMemory>(m_content_source))
|
else if (std::holds_alternative<ContentMemory>(m_content_source))
|
||||||
{
|
{
|
||||||
const auto& content = std::get<ContentMemory>(m_content_source);
|
const auto& content = std::get<ContentMemory>(m_content_source);
|
||||||
std::copy(content->begin() + offset_in_content,
|
std::copy_n(content->begin() + offset_in_content, bytes_to_read, *buffer);
|
||||||
content->begin() + offset_in_content + bytes_to_read, *buffer);
|
|
||||||
}
|
}
|
||||||
else if (std::holds_alternative<ContentPartition>(m_content_source))
|
else if (std::holds_alternative<ContentPartition>(m_content_source))
|
||||||
{
|
{
|
||||||
|
|
|
@ -78,8 +78,8 @@ bool LaggedFibonacciGenerator::GetSeed(const u32* data, size_t size, size_t data
|
||||||
const size_t data_offset_mod_k = data_offset % LFG_K;
|
const size_t data_offset_mod_k = data_offset % LFG_K;
|
||||||
const size_t data_offset_div_k = data_offset / LFG_K;
|
const size_t data_offset_div_k = data_offset / LFG_K;
|
||||||
|
|
||||||
std::copy(data, data + LFG_K - data_offset_mod_k, lfg->m_buffer.data() + data_offset_mod_k);
|
std::copy_n(data, LFG_K - data_offset_mod_k, lfg->m_buffer.data() + data_offset_mod_k);
|
||||||
std::copy(data + LFG_K - data_offset_mod_k, data + LFG_K, lfg->m_buffer.data());
|
std::copy_n(data + LFG_K - data_offset_mod_k, data_offset_mod_k, lfg->m_buffer.data());
|
||||||
|
|
||||||
lfg->Backward(0, data_offset_mod_k);
|
lfg->Backward(0, data_offset_mod_k);
|
||||||
|
|
||||||
|
|
|
@ -28,8 +28,8 @@ void Replace(u64 offset, u64 size, u8* out_ptr, u64 replace_offset, u64 replace_
|
||||||
|
|
||||||
if (replace_end > replace_start)
|
if (replace_end > replace_start)
|
||||||
{
|
{
|
||||||
std::copy(replace_ptr + (replace_start - replace_offset),
|
std::copy_n(replace_ptr + (replace_start - replace_offset), replace_end - replace_start,
|
||||||
replace_ptr + (replace_end - replace_offset), out_ptr + (replace_start - offset));
|
out_ptr + (replace_start - offset));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1301,8 +1301,7 @@ void VolumeVerifier::Finish()
|
||||||
{
|
{
|
||||||
m_result.hashes.crc32 = std::vector<u8>(4);
|
m_result.hashes.crc32 = std::vector<u8>(4);
|
||||||
const u32 crc32_be = Common::swap32(m_crc32_context);
|
const u32 crc32_be = Common::swap32(m_crc32_context);
|
||||||
const u8* crc32_be_ptr = reinterpret_cast<const u8*>(&crc32_be);
|
std::memcpy(m_result.hashes.crc32.data(), &crc32_be, 4);
|
||||||
std::copy(crc32_be_ptr, crc32_be_ptr + 4, m_result.hashes.crc32.begin());
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (m_hashes_to_calculate.md5)
|
if (m_hashes_to_calculate.md5)
|
||||||
|
|
|
@ -1635,7 +1635,7 @@ WIARVZFileReader<RVZ>::ProcessAndCompress(CompressThreadState* state, CompressPa
|
||||||
const size_t size = state->compressor->GetSize();
|
const size_t size = state->compressor->GetSize();
|
||||||
|
|
||||||
entry.main_data.resize(size);
|
entry.main_data.resize(size);
|
||||||
std::copy(data, data + size, entry.main_data.data());
|
std::copy_n(data, size, entry.main_data.data());
|
||||||
|
|
||||||
if (compressed_exception_lists)
|
if (compressed_exception_lists)
|
||||||
entry.exception_lists.clear();
|
entry.exception_lists.clear();
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
|
|
||||||
#include "UpdaterCommon/UpdaterCommon.h"
|
#include "UpdaterCommon/UpdaterCommon.h"
|
||||||
|
|
||||||
|
#include <algorithm>
|
||||||
#include <array>
|
#include <array>
|
||||||
#include <memory>
|
#include <memory>
|
||||||
#include <optional>
|
#include <optional>
|
||||||
|
@ -150,7 +151,7 @@ Manifest::Hash ComputeHash(const std::string& contents)
|
||||||
false);
|
false);
|
||||||
|
|
||||||
Manifest::Hash out;
|
Manifest::Hash out;
|
||||||
std::copy(full.begin(), full.begin() + 16, out.begin());
|
std::copy_n(full.begin(), 16, out.begin());
|
||||||
return out;
|
return out;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue