+ bool GetFieldIndex(char flag, size_t& out) const CXX11_OVERRIDE
+ {
+ if (!whox)
+ {
+ const char* pos = strchr(who_field_order, flag);
+ if (pos == NULL)
+ return false;
+
+ out = pos - who_field_order;
+ return true;
+ }
+
+ if (!whox_fields[flag])
+ return false;
+
+ out = 0;
+ for (const char* c = whox_field_order; *c && *c != flag; ++c)
+ {
+ if (whox_fields[*c])
+ ++out;
+ }
+
+ return whox_field_order[out];
+ }
+