- typedef bool (* FUNC)(const char **, T &, const std::string &);
- PROPERTY_PARSER(T & v, FUNC f) : value(v), func(f) {}
- PROPERTY_PARSER(T & v, FUNC f, const std::string & e) : value(v), func(f), encoding(e) {}
- virtual bool Parse(const char ** attr, const std::string & attrName, const std::string & /*fromEncoding*/) { return func(attr, value, attrName); }
+ using Func = bool (*)(const char **, T&, const std::string&);
+ PropertyParser(T& v, Func f) : value(v), func(f) {}
+ PropertyParser(T& v, Func f, const std::string& e) : value(v), func(f), encoding(e) {}
+ bool Parse(const char** attr, const std::string& attrName, const std::string& /*fromEncoding*/) override { return func(attr, value, attrName); }