Fast substring search for strings and byte strings, using the two-way algorithm
_.
This is the same code as is included in Rust's libstd to “power” str::find(&str)
,
but here it is exposed with some improvements:
twoway::find<A: Ord>(text: &[A], pattern: &[A]) -> Option<usize>
twoway::rfind<A: Ord>(text: &[A], pattern: &[A]) -> Option<usize>
twoway::find_str(text: &str, pattern: &str) -> Option<usize>
twoway::rfind_str(text: &str, pattern: &str) -> Option<usize>
.. _two-way algorithm
: http://www-igm.univ-mlv.fr/~lecroq/string/node26.html
Consider denying 0/n factorizations, see http://lists.gnu.org/archive/html/bug-gnulib/2010-06/msg00184.html