aboutsummaryrefslogtreecommitdiffstats
path: root/libqpdf
diff options
context:
space:
mode:
authorJay Berkenbilt <jberkenbilt@users.noreply.github.com>2022-09-05 23:25:35 +0200
committerGitHub <noreply@github.com>2022-09-05 23:25:35 +0200
commit1264f4733e6fed2a25d08bf2eadbe4ea45150b2d (patch)
tree642d4000430b037c2cea9ad2f44fc8e8e87e70dc /libqpdf
parent952b00aecd7bfdf9db50eb6b3d922ce17e1b606c (diff)
parent12967bdf8a271faeaf160b88bc8c5c800703af82 (diff)
downloadqpdf-1264f4733e6fed2a25d08bf2eadbe4ea45150b2d.tar.zst
Merge pull request #756 from jbarlow83/unique-ptr
Use unique_ptr and move constructor for Buffer::Members
Diffstat (limited to 'libqpdf')
-rw-r--r--libqpdf/Buffer.cc14
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);
}