The Boyer-Moore algorithm is used to implement fast substring search.
More...
|
bm_fwd_table_t * | bm_memmem_study (char const *needle, size_t nlen) |
| Build case-sensitive forward skip table bm_fwd_table_t for Boyer-Moore algorithm.
|
|
char * | bm_memmem (char const *haystack, size_t hlen, char const *needle, size_t nlen, bm_fwd_table_t *fwd) |
| Search for a substring using Boyer-Moore algorithm.
|
|
bm_fwd_table_t * | bm_memcasemem_study (char const *needle, size_t nlen) |
| Build case-insensitive forward skip table for Boyer-Moore algorithm.
|
|
char * | bm_memcasemem (char const *haystack, size_t hlen, char const *needle, size_t nlen, bm_fwd_table_t *fwd) |
| Search for substring using Boyer-Moore algorithm.
|
|
The Boyer-Moore algorithm is used to implement fast substring search.
The algorithm has some overhead caused by filling a table. Substring search then requires at most 1 / substring-length less string comparisons. On modern desktop hardware, Boyer-Moore algorithm is seldom faster than the naive implementation if the searched substring is shorter than the cache line.