#ifndef _MATCHINGS_FINDER_H_ #define _MATCHINGS_FINDER_H_ #include #include using namespace std; namespace extractor { class PhraseLocation; class SuffixArray; /** * Class wrapping the suffix array lookup for a contiguous phrase. */ class MatchingsFinder { public: MatchingsFinder(shared_ptr suffix_array); virtual ~MatchingsFinder(); // Uses the suffix array to search only for the last word of the phrase // starting from the range in which the prefix of the phrase occurs. virtual PhraseLocation Find(PhraseLocation& location, const string& word, int offset); protected: MatchingsFinder(); private: shared_ptr suffix_array; }; } // namespace extractor #endif