Boost C++ Libraries

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

PrevUpHomeNext

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);
  }
}

PrevUpHomeNext