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