summaryrefslogtreecommitdiff
path: root/extractor/matchings_finder.cc
blob: eaf493b2d0f77b8c8ec3607f3c3f2f634585fd60 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "matchings_finder.h"

#include "suffix_array.h"
#include "phrase_location.h"

MatchingsFinder::MatchingsFinder(shared_ptr<SuffixArray> suffix_array) :
    suffix_array(suffix_array) {}

MatchingsFinder::MatchingsFinder() {}

MatchingsFinder::~MatchingsFinder() {}

PhraseLocation MatchingsFinder::Find(PhraseLocation& location,
                                     const string& word, int offset) {
  if (location.sa_low == -1 && location.sa_high == -1) {
    location.sa_low = 0;
    location.sa_high = suffix_array->GetSize();
  }

  return suffix_array->Lookup(location.sa_low, location.sa_high, word, offset);
}