From 642f94e9df34245a0b4d0212c0b57bbaf01779aa Mon Sep 17 00:00:00 2001 From: Lee Bousfield Date: Tue, 4 Mar 2025 09:38:33 -0600 Subject: [PATCH] memory: Change constructor to reinterpretPointerCast function --- include/hyprutils/memory/SharedPtr.hpp | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/include/hyprutils/memory/SharedPtr.hpp b/include/hyprutils/memory/SharedPtr.hpp index 94c0ec0..f2003a2 100644 --- a/include/hyprutils/memory/SharedPtr.hpp +++ b/include/hyprutils/memory/SharedPtr.hpp @@ -16,12 +16,6 @@ namespace Hyprutils { namespace Memory { - struct SForceReinterpret { - explicit SForceReinterpret() = default; - }; - - constexpr SForceReinterpret FORCE_REINTERPRET = SForceReinterpret(); - template class CSharedPointer { public: @@ -44,12 +38,6 @@ namespace Hyprutils { increment(); } - template - CSharedPointer(const CSharedPointer& ref, SForceReinterpret) noexcept { - impl_ = ref.impl_; - increment(); - } - CSharedPointer(const CSharedPointer& ref) noexcept { impl_ = ref.impl_; increment(); @@ -197,6 +185,11 @@ namespace Hyprutils { static CSharedPointer makeShared(Args&&... args) { return CSharedPointer(new U(std::forward(args)...)); } + + template + CSharedPointer reinterpretPointerCast(const CSharedPointer& ref) { + return CSharedPointer(ref.impl_); + } } }