| Home | Libraries | People | FAQ | More

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

    namespace boost {
      namespace algorithm {
        template<typename patIter> class knuth_morris_pratt;
        template<typename patIter, typename corpusIter>
          std::pair< corpusIter, corpusIter >
          knuth_morris_pratt_search(corpusIter, corpusIter, patIter, patIter);
        template<typename PatternRange, typename corpusIter>
          std::pair< corpusIter, corpusIter >
          knuth_morris_pratt_search(corpusIter corpus_first,
                                    corpusIter corpus_last,
                                    const PatternRange & pattern);
        template<typename patIter, typename CorpusRange>
          boost::disable_if_c< boost::is_same< CorpusRange, patIter >::value, std::pair< typenameboost::range_iterator< CorpusRange >::type, typenameboost::range_iterator< CorpusRange >::type > >::type
          knuth_morris_pratt_search(CorpusRange & corpus, patIter pat_first,
                                    patIter pat_last);
        template<typename PatternRange, typename CorpusRange>
          std::pair< typename boost::range_iterator< CorpusRange >::type, typename 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);
      }
    }