| 412 | size_type needle_length() const noexcept { return needle_.length(); } |
| 413 | size_type operator()(string_type_ haystack) const noexcept { return haystack.find(needle_); } |
| 414 | size_type skip_length() const noexcept { |
| 415 | // TODO: Apply Galil rule to match repetitive patterns in strictly linear time. |
| 416 | return is_same_type<overlaps_type_, include_overlaps_type>::value ? 1 : needle_.length(); |
| 417 | } |
| 418 | }; |
| 419 | |
| 420 | /** |
no test coverage detected