Listing 5

struct rectangle : ... {
  long left() const { return m_left; }
  void left(const long & l) { 
    m_left = l; 
    notify(&me::left);
  }
  ...
};