template struct utils::PropertyByValue
#include <Property.h>
template <typename C, typename T, T(C::*)() const getter, void(C::*)(T) setter>
struct PropertyByValue {
// fields
C* instance;
// construction
PropertyByValue(C* instance);
// methods
operator T() const;
PropertyByValue& operator=(const T& value);
template <typename C2, typename T2, T2(C2::*)() getter2, void(C2::*)(T2) setter2>
PropertyByValue& operator=(const PropertyByValue<C2, T2, getter2, setter2>& other);
PropertyByValue& operator=(const PropertyByValue& other);
};