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

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
PrevUpHomeNext

Class template knuth_morris_pratt

boost::algorithm::knuth_morris_pratt

Synopsis

// In header: <boost/algorithm/searching/knuth_morris_pratt.hpp>

template<typename patIter> 
class knuth_morris_pratt {
public:
  // construct/copy/destruct
  knuth_morris_pratt(patIter, patIter);
  ~knuth_morris_pratt();

  // public member functions
  template<typename corpusIter> 
    std::pair< corpusIter, corpusIter > 
    operator()(corpusIter, corpusIter) const;
  template<typename Range> 
    std::pair< typename boost::range_iterator< Range >::type, typename boost::range_iterator< Range >::type > 
    operator()(Range &) const;
};

Description

knuth_morris_pratt public construct/copy/destruct

  1. knuth_morris_pratt(patIter first, patIter last);
  2. ~knuth_morris_pratt();

knuth_morris_pratt public member functions

  1. template<typename corpusIter> 
      std::pair< corpusIter, corpusIter > 
      operator()(corpusIter corpus_first, corpusIter corpus_last) const;
  2. template<typename Range> 
      std::pair< typename boost::range_iterator< Range >::type, typename boost::range_iterator< Range >::type > 
      operator()(Range & r) const;

PrevUpHomeNext