From 2edda4abf65488d5025e1cb57b571ee5b6e4e083 Mon Sep 17 00:00:00 2001 From: Erki Date: Thu, 24 Jun 2021 13:13:28 +0300 Subject: [PATCH] Utility: Fix StaticPointer's accessors --- Utility/Inc/utility_staticpointer.hpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Utility/Inc/utility_staticpointer.hpp b/Utility/Inc/utility_staticpointer.hpp index c80db2b..b8dba5e 100644 --- a/Utility/Inc/utility_staticpointer.hpp +++ b/Utility/Inc/utility_staticpointer.hpp @@ -27,14 +27,24 @@ struct StaticPointer return *(new (storage) value_type(std::forward(args)...)); } - value_type& operator*() const + const value_type& operator*() const { - return reinterpret_cast(storage); + return *reinterpret_cast(storage); } - value_type* operator->() const noexcept + value_type& operator*() { - return reinterpret_cast(storage); + return *reinterpret_cast(storage); + } + + value_type* operator->() noexcept + { + return reinterpret_cast(storage); + } + + const value_type* operator->() const noexcept + { + return reinterpret_cast(storage); } constexpr explicit operator bool() const