Boost C++ Libraries of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of Boost. Click here to view this page for the latest version.

Header <boost/algorithm/searching/knuth_morris_pratt.hpp>

namespace boost {
  namespace algorithm {
    template<typename patIter> class knuth_morris_pratt;
    template<typename patIter, typename corpusIter> 
      corpusIter knuth_morris_pratt_search(corpusIter, corpusIter, patIter, 
    template<typename PatternRange, typename corpusIter> 
      corpusIter knuth_morris_pratt_search(corpusIter corpus_first, 
                                           corpusIter corpus_last, 
                                           const PatternRange & pattern);
    template<typename patIter, typename CorpusRange> 
      boost::lazy_disable_if_c< boost::is_same< CorpusRange, patIter >::value, typename boost::range_iterator< CorpusRange > >::type 
      knuth_morris_pratt_search(CorpusRange & corpus, patIter pat_first, 
                                patIter pat_last);
    template<typename PatternRange, typename CorpusRange> 
      boost::range_iterator< CorpusRange >::type 
      knuth_morris_pratt_search(CorpusRange & corpus, 
                                const PatternRange & pattern);
    template<typename Range> 
      boost::algorithm::knuth_morris_pratt< typename boost::range_iterator< const Range >::type > 
      make_knuth_morris_pratt(const Range & r);
    template<typename Range> 
      boost::algorithm::knuth_morris_pratt< typename boost::range_iterator< Range >::type > 
      make_knuth_morris_pratt(Range & r);