bool read_enum (const char* name, E& value, T enum2string) const { std::string str; if (read_string(name, str)) { value = enum2string(str); return true; } return false; }
const char *Rowop::opcodeString(int code) { const char *def = "?"; const char *res = enum2string(opcodes, code, def); if (res == def) { // for the unknown opcodes, get at least the general sense if (isInsert(code) && isDelete(code)) return "[ID]"; else if (isInsert(code)) return "[I]"; else if (isDelete(code)) return "[D]"; else return "[NOP]"; } else { return res; } }
void write_enum(const char* name, E value, F enum2string) { (*out) << "\n" << indent() << "(" << name << " \"" << enum2string(value) << "\")"; }
const char *Rowop::ocfString(int flag, const char *def) { return enum2string(opcodeFlags, flag, def); }
const char *Aggregator::aggOpString(int code, const char *def) { return enum2string(aggOpCodes, code, def); }
QString CoordinateSystem::toString() const { return enum2string(mId) + (mRefObject.isEmpty() ? "" : ("/"+mRefObject)); }