]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Using std::copy_if for CharacterSet::operator +=
authorFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 17 Dec 2013 17:02:51 +0000 (18:02 +0100)
committerFrancesco Chemolli <kinkie@squid-cache.org>
Tue, 17 Dec 2013 17:02:51 +0000 (18:02 +0100)
src/base/CharacterSet.cc

index 3df5f3eee7ffb0c768cfe7e87799a789ee6d9d22..697276aed2445474ed5f460af807bc89aa3b3f58 100644 (file)
@@ -2,18 +2,17 @@
 
 #include "CharacterSet.h"
 
+#include <algorithm>
+
+static bool
+isNonZero(uint8_t i) {
+    return i!=0;
+}
+
 const CharacterSet &
 CharacterSet::operator +=(const CharacterSet &src)
 {
-    vector_type::const_iterator s = src.chars_.begin();
-    const vector_type::const_iterator e = src.chars_.end();
-    vector_type::iterator d = chars_.begin();
-    while (s != e) {
-        if (*s)
-            *d = 1;
-        ++s;
-        ++d;
-    }
+    std::copy_if(src.chars_.begin(),src.chars_.end(),chars_.begin(),isNonZero);
     return *this;
 }