diff --git a/Source/cmAlgorithms.h b/Source/cmAlgorithms.h index 5504fee71..0cf770140 100644 --- a/Source/cmAlgorithms.h +++ b/Source/cmAlgorithms.h @@ -263,7 +263,7 @@ typename Range::const_iterator cmRemoveMatching(Range &r, MatchRange const& m) namespace ContainerAlgorithms { -template +template struct RemoveDuplicatesAPI { typedef typename Range::const_iterator const_iterator; @@ -275,6 +275,18 @@ struct RemoveDuplicatesAPI static bool valueCompare(It it, const_iterator it2) { return **it != *it2; } }; +template +struct RemoveDuplicatesAPI +{ + typedef typename Range::const_iterator const_iterator; + typedef T* value_type; + + static bool lessThan(value_type a, value_type b) { return a < b; } + static value_type uniqueValue(const_iterator a) { return *a; } + template + static bool valueCompare(It it, const_iterator it2) { return *it != *it2; } +}; + } template