Fix issues with observable
This commit is contained in:
@@ -32,14 +32,14 @@ namespace OpenVulkano
|
||||
{}
|
||||
|
||||
Observable(T&& initValue, const std::string& observableName)
|
||||
: object(std::forward(initValue)), OnChange(observableName)
|
||||
: object(initValue), OnChange(observableName)
|
||||
{}
|
||||
|
||||
template<typename = std::enable_if_t<std::is_copy_assignable_v<T>>>
|
||||
auto& operator = (const T& val) { object = val; Notify(); return *this; }
|
||||
|
||||
template<typename = std::enable_if_t<std::is_move_assignable_v<T>>>
|
||||
auto& operator = (T&& val) { object = std::forward(val); Notify(); return *this; }
|
||||
auto& operator = (T&& val) { object = val; Notify(); return *this; }
|
||||
|
||||
template<typename = std::enable_if_t<std::is_copy_assignable_v<T>>>
|
||||
operator T() const { return object; }
|
||||
@@ -54,7 +54,9 @@ namespace OpenVulkano
|
||||
bool operator >=(const T& other) const { return object >= other; }
|
||||
bool operator !() const { return !object; }
|
||||
|
||||
operator bool() const { return object.operator bool(); }
|
||||
template<std::enable_if<std::is_convertible_v<T, bool>>>
|
||||
operator bool() const { return static_cast<bool>(object); }
|
||||
|
||||
auto& operator ++() { ++object; Notify(); return *this; }
|
||||
auto& operator --() { --object; Notify(); return *this; }
|
||||
auto& operator ++(int) { object++; Notify(); return *this; }
|
||||
|
||||
Reference in New Issue
Block a user