diff options
author | Jay Berkenbilt <jberkenbilt@users.noreply.github.com> | 2022-09-05 23:25:35 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-09-05 23:25:35 +0200 |
commit | 1264f4733e6fed2a25d08bf2eadbe4ea45150b2d (patch) | |
tree | 642d4000430b037c2cea9ad2f44fc8e8e87e70dc /libqpdf/Buffer.cc | |
parent | 952b00aecd7bfdf9db50eb6b3d922ce17e1b606c (diff) | |
parent | 12967bdf8a271faeaf160b88bc8c5c800703af82 (diff) | |
download | qpdf-1264f4733e6fed2a25d08bf2eadbe4ea45150b2d.tar.zst |
Merge pull request #756 from jbarlow83/unique-ptr
Use unique_ptr and move constructor for Buffer::Members
Diffstat (limited to 'libqpdf/Buffer.cc')
-rw-r--r-- | libqpdf/Buffer.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/libqpdf/Buffer.cc b/libqpdf/Buffer.cc index 4e8a17ae..98a524ce 100644 --- a/libqpdf/Buffer.cc +++ b/libqpdf/Buffer.cc @@ -48,12 +48,24 @@ Buffer::operator=(Buffer const& rhs) return *this; } +Buffer::Buffer(Buffer&& rhs) noexcept : + m(std::move(rhs.m)) +{ +} + +Buffer& +Buffer::operator=(Buffer&& rhs) noexcept +{ + std::swap(this->m, rhs.m); + return *this; +} + void Buffer::copy(Buffer const& rhs) { if (this != &rhs) { this->m = - std::shared_ptr<Members>(new Members(rhs.m->size, nullptr, true)); + std::unique_ptr<Members>(new Members(rhs.m->size, nullptr, true)); if (this->m->size) { memcpy(this->m->buf, rhs.m->buf, this->m->size); } |