27 #include <type_traits>
68 if (_modifiedCallback && triggerCallback)
69 _modifiedCallback(*
this);
87 void _updateValue(T& member,
const T& newValue,
const bool triggerCallback =
true)
97 bool _isEqual(
const T& a,
const T& b,
typename std::enable_if<std::is_floating_point<T>::value>::type* = 0)
99 return std::fabs(a - b) < 0.000001;
103 bool _isEqual(
const T& a,
const T& b,
typename std::enable_if<!std::is_floating_point<T>::value>::type* = 0)
109 std::atomic_bool _modified{
true};
void _updateValue(T &member, const T &newValue, const bool triggerCallback=true)
void markModified(const bool triggerCallback=true)
bool _isEqual(const T &a, const T &b, typename std::enable_if< std::is_floating_point< T >::value >::type *=0)
virtual ~BaseObject()=default
BaseObject(const BaseObject &)
void clearModifiedCallback()
bool _isEqual(const T &a, const T &b, typename std::enable_if<!std::is_floating_point< T >::value >::type *=0)
void onModified(const ModifiedCallback &callback)
std::function< void(const BaseObject &)> ModifiedCallback
BaseObject & operator=(const BaseObject &rhs)