blob: d02074c94ae728a3e99ac506733b3925dcf40730 (
plain) (
tree)
|
|
#include "kmp.h"
#include <util/generic/yexception.h>
TKMPMatcher::TKMPMatcher(const char* patternBegin, const char* patternEnd)
: Pattern(patternBegin, patternEnd)
{
ComputePrefixFunction();
}
TKMPMatcher::TKMPMatcher(const TString& pattern)
: Pattern(pattern)
{
ComputePrefixFunction();
}
void TKMPMatcher::ComputePrefixFunction() {
ssize_t* pf;
::ComputePrefixFunction(Pattern.data(), Pattern.data() + Pattern.size(), &pf);
PrefixFunction.Reset(pf);
}
|