Listing 3

struct register_reflect {
  template<class type, class m_type> register_reflect(
    std::string s, 
    m_type (type::*get)() const, 
    void (type::*set)(const m_type&) ) {
   ...
  }
  ...
};