From: Francesco Chemolli Date: Tue, 17 Dec 2013 17:02:51 +0000 (+0100) Subject: Using std::copy_if for CharacterSet::operator += X-Git-Tag: SQUID_3_5_0_1~456^2~4 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=13aef560f99a725a98ab36fecc4d36bce7099f4f;p=thirdparty%2Fsquid.git Using std::copy_if for CharacterSet::operator += --- diff --git a/src/base/CharacterSet.cc b/src/base/CharacterSet.cc index 3df5f3eee7..697276aed2 100644 --- a/src/base/CharacterSet.cc +++ b/src/base/CharacterSet.cc @@ -2,18 +2,17 @@ #include "CharacterSet.h" +#include + +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; }