void Parcel::Impl::Write(const void* buf, uint32_t size) {
auto* p = reinterpret_cast<const uint8_t*>(buf);
- std::copy(p, p + size, std::back_inserter(data_));
+ data_.insert(data_.end(), p, p + size);
}
int Parcel::Impl::Read(void* buf, uint32_t size) {
if (IsBigEndian())
size = GUINT32_TO_BE(size);
- auto* p = reinterpret_cast<uint8_t*>(&size);
- std::copy(p, p + sizeof(size), std::back_inserter(data_));
+ Write<uint32_t>(size);
}
template <typename T>
void Parcel::Impl::Write(T d) {
auto* p = reinterpret_cast<uint8_t*>(&d);
- std::copy(p, p + sizeof(T), std::back_inserter(data_));
+ data_.insert(data_.end(), p, p + sizeof(T));
}
int Parcel::Impl::ReadSize(uint32_t* size) {
Parcel::Parcel(const Parcel& p)
: impl_(new Impl(this)) {
impl_->big_endian_ = p.impl_->big_endian_;
- std::copy(p.impl_->data_.begin(), p.impl_->data_.end(),
- std::back_inserter(impl_->data_));
+ impl_->data_ = p.impl_->data_;
impl_->reader_ = p.impl_->reader_;
}
Parcel& Parcel::operator = (const Parcel& p) {
if (this != &p) {
impl_->big_endian_ = p.impl_->big_endian_;
- std::copy(p.impl_->data_.begin(), p.impl_->data_.end(),
- std::back_inserter(impl_->data_));
+ impl_->data_ = p.impl_->data_;
impl_->reader_ = p.impl_->reader_;
}
return *this;