From eb5d97c10f15c3b8c76b71ae749a41df753d873d Mon Sep 17 00:00:00 2001 From: Georg Hagen Date: Mon, 10 Feb 2025 23:50:01 +0100 Subject: [PATCH] Small bugfixes --- openVulkanoCpp/Base/Observable.hpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/openVulkanoCpp/Base/Observable.hpp b/openVulkanoCpp/Base/Observable.hpp index 041b854..9f579f9 100644 --- a/openVulkanoCpp/Base/Observable.hpp +++ b/openVulkanoCpp/Base/Observable.hpp @@ -46,6 +46,8 @@ namespace OpenVulkano template>> operator T() const { return object; } + const T& Get() const { return object; } + operator const T&() const { return object; } bool operator ==(const T& other) const { return object == other; } @@ -56,13 +58,14 @@ namespace OpenVulkano bool operator >=(const T& other) const { return object >= other; } bool operator !() const { return !object; } - template>> - operator bool() const { return static_cast(object); } + //template>> + operator bool() const requires std::convertible_to + { return static_cast(object); } auto& operator ++() { ++object; Notify(); return *this; } auto& operator --() { --object; Notify(); return *this; } - auto& operator ++(int) { object++; Notify(); return *this; } - auto& operator --(int) { object--; Notify(); return *this; } + T operator ++(int) { T temp = *this; ++object; Notify(); return temp; } + T operator --(int) { T temp = *this; --object; Notify(); return temp; } auto& operator +=(const T& other) { object += other; Notify(); return *this; } auto& operator -=(const T& other) { object -= other; Notify(); return *this; }