Bladeren bron

cmAlgorithms: Make cmRemoveDuplicates work with more containers.

Remove the accidental requirement that the input range must be a
std::vector.
Stephen Kelly 10 jaren geleden
bovenliggende
commit
ba959934a6
1 gewijzigde bestanden met toevoegingen van 3 en 2 verwijderingen
  1. 3 2
      Source/cmAlgorithms.h

+ 3 - 2
Source/cmAlgorithms.h

@@ -258,14 +258,15 @@ typename Range::const_iterator cmRemoveMatching(Range &r, MatchRange const& m)
 template<typename Range>
 typename Range::const_iterator cmRemoveDuplicates(Range& r)
 {
-  std::vector<typename Range::value_type> unique;
+  typedef std::vector<typename Range::value_type> UniqueVector;
+  UniqueVector unique;
   unique.reserve(r.size());
   std::vector<size_t> indices;
   size_t count = 0;
   for(typename Range::const_iterator it = r.begin();
       it != r.end(); ++it, ++count)
     {
-    const typename Range::iterator low =
+    const typename UniqueVector::iterator low =
         std::lower_bound(unique.begin(), unique.end(), *it);
     if (low == unique.end() || *low != *it)
       {