]>
Commit | Line | Data |
---|---|---|
c8046ec7 FC |
1 | #include "squid.h" |
2 | ||
3 | #include "CharacterSet.h" | |
4 | ||
13aef560 FC |
5 | #include <algorithm> |
6 | ||
7 | static bool | |
8 | isNonZero(uint8_t i) { | |
9 | return i!=0; | |
10 | } | |
11 | ||
c8046ec7 FC |
12 | const CharacterSet & |
13 | CharacterSet::operator +=(const CharacterSet &src) | |
14 | { | |
13aef560 | 15 | std::copy_if(src.chars_.begin(),src.chars_.end(),chars_.begin(),isNonZero); |
c8046ec7 FC |
16 | return *this; |
17 | } | |
dcd4fdac FC |
18 | |
19 | CharacterSet & | |
20 | CharacterSet::add(const unsigned char c) | |
21 | { | |
22 | chars_[static_cast<uint8_t>(c)] = 1; | |
23 | return *this; | |
24 | } | |
25 | ||
26 | CharacterSet::CharacterSet(const char *label, const char * const c) | |
27 | : name(label == NULL ? "anonymous" : label), chars_(vector_type(256,0)) | |
28 | { | |
29 | const size_t clen = strlen(c); | |
30 | for (size_t i = 0; i < clen; ++i) | |
31 | add(c[i]); | |
32 | } |