From 4b4605df15ce7061a08d7911069927bf49778d05 Mon Sep 17 00:00:00 2001 From: HampusM Date: Mon, 7 Mar 2022 09:24:37 +0100 Subject: fix: prevent invalid UniquePtr usage --- src/std/memory.hpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'src/std/memory.hpp') diff --git a/src/std/memory.hpp b/src/std/memory.hpp index 0c5719c..d1ca762 100644 --- a/src/std/memory.hpp +++ b/src/std/memory.hpp @@ -11,13 +11,19 @@ class UniquePtr public: explicit UniquePtr() = default; explicit UniquePtr(Target *target); - UniquePtr(const UniquePtr &unique_ptr); - UniquePtr(UniquePtr &&unique_ptr) noexcept; - UniquePtr &operator=(const UniquePtr &unique_ptr); + // Move constructor + UniquePtr(UniquePtr &&unique_ptr) noexcept; + // Move assignment operator UniquePtr &operator=(UniquePtr &&unique_ptr) noexcept; + // Disable the copy constructor + UniquePtr(const UniquePtr &unique_ptr) = delete; + + // Disable the copy assignment operator + UniquePtr &operator=(const UniquePtr &unique_ptr) = delete; + ~UniquePtr(); Target operator*() const; -- cgit v1.2.3-18-g5258