container.unique.cc

/*
 * sort | uniq
 *
 * ただの std::unique は size を切り詰めてくれないので注意
 */

sort(begin(xs), end(xs));
xs.erase(std::unique(xs.begin(), xs.end()), xs.end());

template<typename T>
inline
void uniq(vector<T>& xs) {
  sort(begin(xs), end(xs));
  xs.erase(std::unique(xs.begin(), xs.end()), xs.end());
}