File: unique_sort.h

package info (click to toggle)
plocate 1.1.24-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 460 kB
  • sloc: cpp: 5,390; sh: 84; makefile: 4
file content (14 lines) | stat: -rw-r--r-- 469 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef _UNIQUE_SORT_H
#define _UNIQUE_SORT_H 1

#include <algorithm>

template<class Container, class LessThan = std::less<typename Container::value_type>, class EqualTo = std::equal_to<typename Container::value_type>>
void unique_sort(Container *c, const LessThan &lt = LessThan(), const EqualTo &eq = EqualTo())
{
	sort(c->begin(), c->end(), lt);
	auto new_end = unique(c->begin(), c->end(), eq);
	c->erase(new_end, c->end());
}

#endif  // !defined(_UNIQUE_SORT_H)