diff --git a/include/hyprutils/memory/SharedPtr.hpp b/include/hyprutils/memory/SharedPtr.hpp index 3b1b3ca..23c08ba 100644 --- a/include/hyprutils/memory/SharedPtr.hpp +++ b/include/hyprutils/memory/SharedPtr.hpp @@ -28,20 +28,17 @@ namespace Hyprutils { /* creates a new shared pointer managing a resource avoid calling. Could duplicate ownership. Prefer makeShared */ - explicit CSharedPointer(T* object) noexcept { - impl_ = new Impl_::impl(object); + explicit CSharedPointer(T* object) noexcept : impl_(new Impl_::impl(object)) { increment(); } /* creates a shared pointer from a reference */ template > - CSharedPointer(const CSharedPointer& ref) noexcept { - impl_ = ref.impl_; + CSharedPointer(const CSharedPointer& ref) noexcept : impl_(ref.impl_) { increment(); } - CSharedPointer(const CSharedPointer& ref) noexcept { - impl_ = ref.impl_; + CSharedPointer(const CSharedPointer& ref) noexcept : impl_(ref.impl_) { increment(); } @@ -55,8 +52,7 @@ namespace Hyprutils { } /* allows weakPointer to create from an impl */ - CSharedPointer(Impl_::impl_base* implementation) noexcept { - impl_ = implementation; + CSharedPointer(Impl_::impl_base* implementation) noexcept : impl_(implementation) { increment(); } diff --git a/include/hyprutils/memory/UniquePtr.hpp b/include/hyprutils/memory/UniquePtr.hpp index 4d95934..4f6d71c 100644 --- a/include/hyprutils/memory/UniquePtr.hpp +++ b/include/hyprutils/memory/UniquePtr.hpp @@ -22,8 +22,7 @@ namespace Hyprutils { /* creates a new unique pointer managing a resource avoid calling. Could duplicate ownership. Prefer makeUnique */ - explicit CUniquePointer(T* object) noexcept { - impl_ = new Impl_::impl(object, false); + explicit CUniquePointer(T* object) noexcept : impl_(new Impl_::impl(object, false)) { increment(); }