From 12967bdf8a271faeaf160b88bc8c5c800703af82 Mon Sep 17 00:00:00 2001 From: "James R. Barlow" Date: Sun, 4 Sep 2022 14:48:25 -0700 Subject: Take advantage of unique_ptr and move construction for Buffer Since Buffer has always implemented its copy constructor with a deep copy, its Members object will never have multiple owners. Change to unique_ptr. Also implement move constructors for Buffer, since there may be cases where a deep copy is not needed. --- include/qpdf/Buffer.hh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/qpdf/Buffer.hh b/include/qpdf/Buffer.hh index fdb07ba7..56441df9 100644 --- a/include/qpdf/Buffer.hh +++ b/include/qpdf/Buffer.hh @@ -49,6 +49,10 @@ class Buffer QPDF_DLL Buffer& operator=(Buffer const&); QPDF_DLL + Buffer(Buffer &&) noexcept; + QPDF_DLL + Buffer& operator=(Buffer &&) noexcept; + QPDF_DLL size_t getSize() const; QPDF_DLL unsigned char const* getBuffer() const; @@ -75,7 +79,7 @@ class Buffer void copy(Buffer const&); - std::shared_ptr m; + std::unique_ptr m; }; #endif // BUFFER_HH -- cgit v1.2.3-54-g00ecf