uint64_t set_hash(const ListSet<short>& val) { // if the val is single && integer then just return the value if (val.size() == 1) { return val.first(); } ListSet<short>::iterator iter = val.begin(); ListSet<short>::iterator end = val.end(); std::stringstream buffer; for (; iter != end; ++iter) { buffer << *iter; buffer << ":"; } return get_sign64(buffer.str().c_str(), buffer.str().length() - 1); }