explicit MapString(const MapString& rval) : alloc(rval.alloc ? new std::string(*rval.alloc) : NULL), str(alloc ? alloc->data() : rval.data(), rval.length()) { }
size_t operator()(const MapString& __t) const noexcept { if (!__t.length()) return 0; return std::hash<std::string_view>()(std::string_view(__t)); }
bool operator==(const MapString& rval) const { if (length() != rval.length()) return false; if (length() == 0) return true; return fastcmp<strncmp>(data(), rval.data(), length()) == 0; }