Macaulay2 Engine
Loading...
Searching...
No Matches

◆ overlaps()

void WordTable::overlaps ( Word word1,
Word word2,
std::vector< int > & result_overlaps )
staticprivate

Definition at line 213 of file WordTable.cpp.

216{
217 if (word1.size() <= 1) return;
218 for (int i = word1.size() - 1; i > 0 and i + word2.size() > word1.size(); --i)
219 {
220 Word suffix(word1.begin() + i, word1.end());
221 Word prefix(word2.begin(), word2.begin() + word1.size() - i); // indices should be in range.
222 if (suffix == prefix)
223 result_overlaps.push_back(i);
224 }
225}
Word prefix(const Word vec, int lengthOfPrefix)
Word suffix(const Word vec, int indexOfSuffix)
const int * begin() const
Definition Word.hpp:72
const int * end() const
Definition Word.hpp:73
int size() const
Definition Word.hpp:74

References Word::begin(), Word::end(), prefix(), Word::size(), and suffix().

Referenced by leftOverlaps(), and rightOverlaps().