bool read_stringset(SerialIn &in, StringSet &list) { #if 1 StringList lst; if (!read_stringlist(in, lst)) return false; list.~StringSet(); new (&list) StringSet(lst.begin(), lst.end()); #else // "HINTS"... yeah right :P uint32_t len; in >= len; StringSet::iterator hint = list.end(); for (uint32_t i = 0; i != len; ++i) { string str; in >= str; hint = list.emplace_hint(hint, move(str)); } #endif return in.in_; }