44 template<
class RandomIterator>
class kmp
47 template <
class UnaryPredicate>
48 void operator()(
const RandomIterator pattern_begin,
49 const RandomIterator pattern_end,
50 const RandomIterator text_begin,
51 const RandomIterator text_end,
52 UnaryPredicate& action)
const;
55 unsigned int common_prefix_length(
const RandomIterator begin_1,
56 const RandomIterator begin_2,
57 const RandomIterator end_1,
58 const RandomIterator end_2 )
const;
60 void z_boxes(
const RandomIterator begin,
const RandomIterator end,
61 std::map<unsigned int, unsigned int>& out)
const;
63 void spi_prime(
const RandomIterator begin,
const RandomIterator end,
64 std::map<unsigned int, unsigned int>& out)
const;
Exact pattern finding with the Knuth-Morris-Pratt's algorithm.