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