virtual const E *do_scan_is(mask msk, const E *first,
const E *last) const;
The protected member function returns the smallest pointer p in the range [first, last) for which do_is(msk,
*p) is true. If no such value exists, the function returns last.