| 257 | } |
| 258 | |
| 259 | AbstractString::size_type AbstractString::find_last_of(const_pointer s, const size_type pos, size_type n) const |
| 260 | { |
| 261 | const strBitMask sm(s, n); |
| 262 | int lpos = length() - 1; |
| 263 | if (static_cast<int>(pos) < lpos && pos != npos) { |
| 264 | lpos = pos; |
| 265 | } |
| 266 | const_pointer p = &c_str()[lpos]; |
| 267 | while (lpos >= 0) |
| 268 | { |
| 269 | if (sm.Contains(*p--)) { |
| 270 | return lpos; |
| 271 | } |
| 272 | --lpos; |
| 273 | } |
| 274 | return npos; |
| 275 | } |
| 276 | |
| 277 | AbstractString::size_type AbstractString::find_first_not_of(const_pointer s, size_type pos, size_type n) const |
| 278 | { |